Codierung für Dummies, Teil 1

Da ich kein Spezialist auf diesem Gebiet bin, lese ich dennoch viel Fachliteratur, um mich mit dem Thema vertraut zu machen, und füllte in der Anfangsphase viele Zapfen, indem ich die Dornen zu den Sternen durchbrach. Bei all der Fülle an Informationen konnte ich keine einfachen Artikel über die Codierung als solche außerhalb des Bereichs der Fachliteratur finden (sozusagen ohne Formeln und mit Bildern).





Der Artikel im ersten Teil ist ein Bildungsprogramm zum Codieren als solches mit Beispielen für Manipulationen mit Bitcodes, und im zweiten Teil möchte ich auf die einfachsten Möglichkeiten zum Codieren von Bildern eingehen.





0. Anfang

Da ich in dieser Angelegenheit Neulinge anspreche, würde ich es nicht als beschämend betrachten, auf Wikipedia zu verweisen. Und dort, um die Codierung von Informationen zu bezeichnen, haben wir eine solche Definition - den Prozess des Umwandelns eines Signals von einer Form, die für die direkte Verwendung von Informationen geeignet ist, in eine Form, die für die Übertragung, Speicherung oder automatische Verarbeitung geeignet ist.





Was mir in den 70er und 80er Jahren fehlte, war in der Schule, wenn auch nicht in der Informatik, sondern zum Beispiel im Mathematikunterricht - grundlegende Informationen zum Codieren. Tatsache ist, dass jeder von uns ständig und allgemein jede Sekunde Informationen codiert - ohne sich auf die Codierung selbst zu konzentrieren. Das heißt, im Alltag machen wir es die ganze Zeit. Wie passiert das?





Mimikry, Gesten, Sprache, Signale verschiedener Ebenen - ein Schild mit einer Inschrift, ein Schild auf der Straße, Ampeln und für die moderne Welt - Bar- und Barcodes, URLs, Hashtags.





Schauen wir uns einige genauer an.





1.1 Sprache, Mimik, Gesten

, - . , , . , . , , - , , , .





, ? - , , - . , , , , , , , - , , .





, - , .





1.2

Indische Pings

. . , , "/". , .





, . ( ), , , - . "-", "A" - "--" "ET".





1.3

, , - , , . ? , , , , , , , . - , - , - . , , , , , , 1 , - .





2.

. , , - . , , - 8 .





256 , 0 255. , ( ) 00000000, 255 11111111. , 00000001.





, 26 26 , 10 . , ( ) .





" ".





2.1

8 , , , . , , :

















18









12









11









11









9









8









4









3









2









2









2









2









1









1









1









1









1









1









1





19 ( ). 18+12+11+11+9+8+4+3+2+2+2+2+1+1+1+1+1+1+1=91 (91*8=728 ).





. , 256 19. - 19 LOG2(19)=4.25, , 5, 32 ( 4 , 16 ).





, 91*5=455 , 37.5%.





, . .





, 19 32 , .





2.2

. - , . :













,









18





0









12





1









11





00









11





01









9





10









8





11









4





000









3





001









2





010









2





011









2





100









2





101









1





110









1





111









1





0000









1





0001









1





0010









1





0011









1





0100





179 .





, , , . , "111", "", "", "" "".





2.3

- , , . . - , / .





:













,









18





0000









12





0001









11





0010









11





0011









9





0100









8





0101









4





0110









3





0111









2





10001









2





10010









2





10011









2





10100









1





10101









1





10110









1





10111









1





11000









1





11001









1





11010









1





11011





, , 0 - , 1 - . , 379 . 455 .





2 , 4 :













,









18





000









12





001









11





0100









11





0101









9





0110









8





0111









4





10000









3





10001









2





10010









2





10011









2





10100









2





10101









1





10110









1





10111









1





11000









1





11001









1





11010









1





11011









1





11100





00 - 1 , 01 - 2 , 10 11 - 3 . - 356 .





, , , 455 379, 356 .





2.4

. , .





, . .





















18





00









12





101









11





100









11





011









9





010









8





1111









4





11011









3





11001









2





111011









2





111010









2





111001









2





111000









1





1101011









1





1101010









1





1101001









1





1101000









1





1100011









1





1100010









1





110000





- 328 .





, 6 7 , , .





2.5.1

, . .





: " ".





:

















18









3









2









2









2









2









1









1









1









1









1









1









1









1





, - , , , .





:





















3





0









2





1









2





2









2





3









2





4









1





5









1





6









1





7









1





8









1





9









1





10









1





11









1





12





:





7, 0, 12, 3, 5, 0, 1, 9, 2, 10, 0, 4, 1, 3, 2, 8, 4, 6, 11





, , - . .





4 ( 0 15), , , . , , , , , 5 , 3 , , - . :





/





/





/





0 / 4





/ 18





/ 2





1 / 4





/ 5





/ 2





2 / 4





/ 10





/ 2





3 / 4





/ 12





/ 2





4 / 4





/ 12





/ 2





5 / 4





/ 31





/ 2





6 / 4





/ 17





/ 2





7 / 4





/ 20





/ 2





8 / 4





/ 10





/ 2





9 / 4





/ 18





/ 2





10 / 4





/ 26





/ 2





11 / 4





/ 17





/ 2





12 / 4





/ 21





/ 2





7





0





12





3





5





0





1





9





2





10





0





4





1





3





2





8





4





6





11





4 .





Wir zählen alles zusammen und erhalten 371 Bits. In diesem Fall wurde die Nachricht selbst in 19 * 4 = 76 Bit codiert. Aber wir müssen den Huffman-Code und das Huffman-Symbol wie in allen vorherigen Fällen konsistent halten.





Nachwort

Ich hoffe, dieser Artikel gibt Ihnen einen allgemeinen Eindruck von der Codierung und zeigt, dass es sich nicht nur um einen militärischen Verschlüsselungsbeamten oder einen komplexen Algorithmus für mathematische Genies handelt.





Von Zeit zu Zeit stoße ich darauf, wie Schüler versuchen, Codierungsprobleme zu lösen, und einfach nicht abstrahieren können. Entwickeln Sie einen kreativen Ansatz für diesen Prozess. Aber das Codieren ist wie eine Frisur oder eine schicke Hose, die auf diese Weise unseren sozialen Code zeigen.








All Articles