2013-02-11 6 views
5

Während ich die Bedeutung der Kodierung und Dekodierung von Wikipedia verstehen kann, kann ich nicht verstehen, warum jede Programmiersprache sie braucht? Und wenn die Antwort darauf bezogen ist, Daten aus einer externen Quelle wie einer Datenbank lesen zu können, warum verwenden dann viele von ihnen unterschiedliche Kodierungsschemata?Warum wird für jede Programmiersprache/Datenbank eine Codierung und Decodierung benötigt?

E.x. Python hat eine Standard-ASCII-Kodierung
Java auf dem zugrunde liegenden O.S beruht,
DB2-Datenbank hat IBM-1252

Antwort

18

Die meisten Menschen mit Text arbeiten.

jedoch Computerspeicher kann nur mit Bytes arbeiten.

Encoding ist der Prozess, Text-Bytes umzuwandeln.

In den letzten Jahrzehnten viele verschiedene Kodierungsschemata wurden für verschiedene Zwecke, wie Kürze, Kompatibilität oder Internationalisierung entwickelt.

Heute sollte alles einfach UTF8 verwenden. (leider tut das noch nicht alles)

+4

+1 für * sollte alles einfach UTF8 * verwenden (Hören Sie uns, Redmond? Niemand steenkin alten DOS-Codepages will mehr.) – Ingo

+0

Beachten Sie, dass Codierung/Decodierung kann auch von einer binären zu einem anderen konvertieren (mp3 , mpeg4 usw.). – Pithikos

+0

@Pithikos: Das ist eine andere Form der Codierung. – SLaks

3

Programmierer und Benutzer interagieren mit einfachem Klartextformat in Form von Englisch oder einer anderen menschenlesbaren Sprache, aber Computer weiß nicht, wie man damit umgeht. Computer kann nur mit Bytes umgehen, also Kodierung und Decodierung ist notwendig.

von http://searchnetworking.techtarget.com/definition/encoding-and-decoding Zitat:

Bei Computern, die Codierung ist der Prozess eine Folge von Zeichen setzen (Buchstaben, Zahlen, Satzzeichen und bestimmte Symbole) in ein Fach Format für die effiziente Übertragung oder Lager. Decoding ist der umgekehrte Prozess - die Umwandlung eines codierten Formats zurück in die ursprüngliche Folge von Zeichen. Kodierung und Dekodierung werden in Datenkommunikation, Vernetzung und Speicherung verwendet. Der Begriff ist insbesondere , der für Funk (drahtlose) Kommunikationssysteme anwendbar ist.

Die Begriffe Codierung und Decodierung werden oft in Bezug auf die Prozesse der Analog-Digital-Umwandlung und Digital-zu-Analog-Konvertierung verwendet. In diesem Sinne können diese Begriffe für alle Arten von Daten gelten, einschließlich Text, Bilder, Audio, Video, Multimedia, Computerprogramme, oder Signale in Sensoren, Telemetrie und Steuersystemen. Kodierung sollte nicht mit Verschlüsselung verwechselt werden, ein Prozess, in dem Daten absichtlich geändert werden, um seinen Inhalt zu verbergen. Verschlüsselung kann durchgeführt werden, ohne den bestimmten Code zu ändern, in dem sich der Inhalt befindet, und Encoding kann getan werden, ohne den Inhalt absichtlich zu verbergen.
Der Code von den meisten Computern für Textdateien verwendet wird als ASCII bekannt (American Standard Code for Information Interchange, ausgesprochen ASK-ee). ASCII kann alphabetische Groß- und Kleinbuchstaben, Zeichen, Ziffern, Interpunktionszeichen und allgemeine Symbole darstellen. Andere häufig verwendete Codes umfassen Unicode, BinHex, Uuencode und MIME. In Datenkommunikation, ist Manchester-Codierung eine spezielle Form der Codierung, in dem die Binärziffern (Bits), die Übergänge zwischen hohen und niedrigen Logikzuständen repräsentieren.In Funkkommunikationen existieren zahlreiche Codierungsverfahren und Decodierungsverfahren, von denen einige nur von spezialisierten Personengruppen (Amateurfunker, zum Beispiel) verwendet werden. Der älteste Code von allen, der ursprünglich im Festnetztelegrafen während des 19. Jahrhunderts verwendet wurde, ist der Morsecode.