Charakter-Verschlüsselung

Ein Charakter-Verschlüsselungssystem besteht aus einem Code, der paarweise anordnen aus einem gegebenen Repertoire mit etwas anderem — wie wenig Muster, Folge von natürlichen Zahlen, Oktetten oder elektrischen Pulsen jeder Charakter — um die Übertragung von Daten (allgemein Zahlen oder Text) durch Fernmeldenetze oder für die Datenlagerung zu erleichtern. Andere Begriffe wie Codierung, Charakter-Karte und Codeseite werden fast austauschbar gebraucht, aber diese Begriffe haben sich bezogen, aber verschiedene Bedeutungen, die unten beschrieben sind.

Geschichte

Allgemeine Beispiele von Charakter-Verschlüsselungssystemen schließen Morsezeichen-Code, den Code von Baudot, den amerikanischen Standardcode für den Informationsaustausch (ASCII) und Unicode ein.

Morsezeichen-Code wurde in den 1840er Jahren eingeführt und wird verwendet, um jeden Brief des lateinischen Alphabetes und jede Arabische Ziffer als eine Reihe von langen und kurzen Pressen eines Telegraf-Schlüssels zu verschlüsseln. Darstellungen von Charakteren das verschlüsselte Verwenden des Morsezeichen-Codes haben sich in der Länge geändert.

Der Code von Baudot wurde von Émile Baudot 1870 geschaffen, 1874 patentiert, von Donald Murray 1901 modifiziert, und durch CCITT als Alphabet Nr. 2 (ITA2) von International Telegraph 1930 standardisiert.

ASCII wurde 1963 eingeführt und ist 7 Bit, die Schema verschlüsseln, das verwendet ist, um Briefe, Ziffern, Symbole und Gerät-Kontrollcodes als Codes der festen Länge mit ganzen Zahlen zu verschlüsseln.

Der verlängerte Binäre Codierte Dezimale Austausch-Code von IBM (hat gewöhnlich EBCDIC abgekürzt), ist 8 Bit, die 1963 entwickeltes Schema verschlüsseln.

Die Beschränkungen solcher Sätze sind bald offenbar geworden, und mehrere Ad-Hoc-Methoden wurden entwickelt, um sie zu erweitern. Das Bedürfnis, mehr Schreiben-Systeme für verschiedene Sprachen, einschließlich der CJK Familie von ostasiatischen Schriften, erforderlicher Unterstützung für eine viel größere Zahl von Charakteren zu unterstützen, und hat eine systematische Annäherung an die Charakter-Verschlüsselung aber nicht die vorherigen Ad-Hoc-Annäherungen gefordert.

Früh schließen binäre Repertoire ein:

  • Die Ziffer von Speck
  • Blindenschrift
  • Internationale Seesignalfahnen
  • Chinesischer Telegraf-Code (Hans Schjellerup, 1869, modifizierter 1872 und im Anschluss an)
  • :Encoding von chinesischen Charakteren als 4-stellige Dezimalzahlen.

Unicode, der Modell verschlüsselt

Unicode und sein paralleler Standard, der ISO/IEC 10646 Universale Codierung, setzen zusammen eine moderne, vereinigte Charakter-Verschlüsselung ein. Anstatt Charaktere direkt zu Oktetten (Bytes) kartografisch darzustellen, definieren sie getrennt das, welche Charaktere, ihr Numerieren verfügbar sind, wie jene Zahlen als eine Reihe von "Codeeinheiten" (Zahlen der beschränkten Größe), und schließlich verschlüsselt werden, wie jene Einheiten als ein Strom von Oktetten verschlüsselt werden. Die Idee hinter dieser Zergliederung ist, einen universalen Satz von Charakteren zu gründen, die in einer Vielfalt von Wegen verschlüsselt werden können. Um dieses Modell richtig zu beschreiben, braucht man genauere Begriffe als "Codierung" und "Charakter-Verschlüsselung". Die im modernen Modell gebrauchten Begriffe folgen:

Ein Charakter-Repertoire ist der volle Satz von abstrakten Charakteren dass Systembetreuungen. Das Repertoire kann geschlossen werden, d. h. ohne keine Hinzufügungen wird erlaubt, einen neuen Standard zu schaffen (wie mit ASCII und den meisten ISO-8859 Reihen der Fall ist), oder es offen sein kann, Hinzufügungen erlaubend (wie mit Unicode und in einem beschränkten Ausmaß die Windows-Codeseiten der Fall ist). Die Charaktere in einem gegebenen Repertoire widerspiegeln Entscheidungen, die darüber gemacht worden sind, wie man Schreiben-Systeme in geradlinige Informationseinheiten teilt. Die grundlegenden Varianten des Lateins, Griechisch, und Kyrillischer Alphabete, können unten in Briefe, Ziffern, Zeichensetzung und einige spezielle Charaktere wie der Raum zerbrochen werden, der alles in einfachen geradlinigen Folgen eingeordnet werden kann, die in derselben Ordnung gezeigt werden, werden sie gelesen. Sogar mit diesen Alphabeten jedoch stellen diakritische Zeichen eine Komplikation auf: sie können irgendein als ein Teil eines einzelnen Charakters betrachtet werden, der einen Brief und diakritisches Zeichen (bekannt in der modernen Fachsprache als ein vorgelassener Charakter), oder als getrennte Charaktere enthält. Der erstere erlaubt ein viel einfacheres Textberühren-System, aber der Letztere erlaubt jeder Brief-Kombination / diakritischer Kombination, im Text verwendet zu werden. Andere Schreiben-Systeme, wie Arabisch und Neuhebräisch, werden mit komplizierteren Charakter-Repertoiren wegen des Bedürfnisses vertreten, Dinge wie bidirektionaler Text und glyphs anzupassen, die unterschiedlich für verschiedene Situationen zusammengetroffen werden.

Eine codierte Codierung (CCS) gibt an, wie man ein Repertoire von Charakteren mit mehreren Codes der natürlichen Zahl genannt Codepunkte vertritt. Zum Beispiel, in einem gegebenen Repertoire, könnte ein Charakter, der den Großbuchstaben "A" im lateinischen Alphabet vertritt, der ganzen Zahl 65, der Charakter für "B" zu 66, und so weiter zugeteilt werden. Ein ganzer Satz von Charakteren und entsprechenden ganzen Zahlen ist eine codierte Codierung. Vielfache codierte Codierungen können dasselbe Repertoire teilen; zum Beispiel codieren ISO/IEC 8859-1 und IBM Seiten 037 und 500 der ganze Deckel dasselbe Repertoire, aber stellen sie zu verschiedenen Codes kartografisch dar. In einer codierten Codierung vertritt jeder Codepunkt nur einen Charakter, d. h. eine codierte Codierung ist eine Funktion.

Eine Charakter-Verschlüsselungsform (CEF) gibt die Konvertierung Codes der ganzen Zahl einer codierten Codierung in eine Reihe von Codewerten der ganzen Zahl der beschränkten Größe an, die Lagerung in einem System erleichtern, das Zahlen in der binären Form mit einer festgelegten Zahl von Bit (d. h. praktisch jedes Computersystem) vertritt. Zum Beispiel würde ein System, das numerische Information in 16-Bit-Einheiten versorgt, nur im Stande sein, ganze Zahlen von 0 bis 65,535 in jeder Einheit direkt zu vertreten, aber größere ganze Zahlen konnten vertreten werden, wenn mehr als eine 16-Bit-Einheit verwendet werden konnte. Das ist, was ein CEF anpasst: Es definiert eine Weise, einen einzelnen Codepunkt von einer Reihe, sagen wir, 0 zu 1.4 Millionen, zu einer Reihe von einem oder mehr Codewerten von einer Reihe, sagen wir, 0 bis 65,535 kartografisch darzustellen.

Das einfachste CEF System soll einfach große genug Einheiten wählen, dass die Werte von der codierten Codierung direkt (ein Codepunkt zu einem Codewert) verschlüsselt werden können. Das arbeitet gut für codierte Codierungen, die 8 Bit einfügen (wie der grösste Teil des Vermächtnisses non-CJK encodings tut), und vernünftig gut für codierte Codierungen, die 16 Bit (wie frühe Versionen von Unicode) einfügen. Jedoch, als die Größe der codierten Codierungszunahmen (z.B verlangt moderner Unicode mindestens 21 Bit/Charakter), wird das immer weniger effizient, und es ist schwierig, vorhandene Systeme anzupassen, um größere Codewerte zu verwenden. Deshalb verwenden die meisten Systeme, die mit späteren Versionen von Unicode arbeiten, entweder UTF-8, der Codepunkte von Unicode zu Folgen der variablen Länge von Oktetten kartografisch darstellt, oder UTF-16, der Code von Unicode kartografisch darstellt, zu Folgen der variablen Länge von 16-Bit-Wörtern hinweist.

Dann gibt ein Charakter-Verschlüsselungsschema (CES) an, wie die Codewerte der ganzen Zahl der festen Größe in eine Oktett-Folge kartografisch dargestellt werden sollten, die passend ist, um auf einem Oktett-basierten Dateisystem zu sparen oder über ein Oktett-basiertes Netz zu übersenden. Mit Unicode wird ein einfaches Charakter-Verschlüsselungsschema in den meisten Fällen verwendet, einfach angebend, ob die Bytes für jede ganze Zahl im großen-endian sein oder wenig-endian bestellen sollten (sogar das ist mit UTF-8) nicht erforderlich. Jedoch gibt es auch Verschlüsselungsschemas des zusammengesetzten Zeichens, die Flucht-Folgen verwenden, um zwischen mehreren einfachen Schemas (wie ISO/IEC 2022) und Zusammendrücken-Schemas umzuschalten, die versuchen, die Zahl von Bytes zu minimieren, die pro Codeeinheit (wie SCSU, BOCU und Punycode) verwendet sind. Sieh Vergleich von Unicode encodings für eine ausführliche Diskussion.

Schließlich kann es ein höheres Niveau-Protokoll geben, das Zusatzinformation liefert, die verwendet werden kann, um die besondere Variante eines Charakters von Unicode besonders auszuwählen, wo es Regionalvarianten gibt, die in Unicode als derselbe Charakter 'vereinigt' worden sind. Ein Beispiel ist das XML-Attribut xml:lang.

Das Unicode Modell bestellt die Begriff-Charakter-Karte für historische Systeme vor, die direkt eine Folge von Charakteren zu einer Folge von Bytes zuteilen, alle CCS, CEF und CES Schichten bedeckend.

Codierungen, Codeseiten und Charakter-Karten

In der Informatik waren die Begriff-Charakter-Verschlüsselung, Charakter-Karte, Codierung oder Codeseite historisch synonymisch, weil derselbe Standard ein Repertoire von Charakteren angeben würde, und wie sie in einen Strom von Codeeinheiten - gewöhnlich mit einem einzelnen Charakter pro Codeeinheit verschlüsselt werden sollten. Die Begriffe haben sich jetzt bezogen, aber verschiedene Bedeutungen, die Anstrengungen von Standardkörpern widerspiegelnd, genaue Fachsprache zu verwenden, wenn sie darüber schreiben und viele verschiedene Verschlüsselungssysteme vereinigen. Trotzdem werden die Begriffe noch austauschbar gebraucht, setzen Sie angenehm fast allgegenwärtig zu sein.

Eine Codeseite bedeutet gewöhnlich, dass ein Byte Verschlüsselung orientiert hat, aber hinsichtlich eines Gefolges von encodings (Bedeckung verschiedener Schriften), wo viele Charaktere dieselben Codes in die meisten oder allen jenen Codeseiten teilen. Weithin bekannte Codeseitengefolge sind "Windows" (gestützt auf Windows 1252) und "IBM" / "DOS" (gestützt auf der Codeseite 437), sehen Windows-Codeseite für Details. Die meisten, aber nicht alle, encodings gekennzeichnet als Codeseiten ist einzelnes Byte encodings (aber sieh Oktett auf der Byte-Größe.)

Character Data Representation Architecture (CDRA) von IBM benennt mit codierten Codierungsbezeichnern (CCSIDs), und von denen jeder einen charset, Codierung, Codeseite oder CHARMAP verschiedenartig genannt wird.

Die Begriff-Codeseite kommt in Unix oder Linux nicht vor, wo charmap gewöhnlich im größeren Zusammenhang von Schauplätzen bevorzugt wird.

Gegenübergestellt zu CCS oben ist eine Charakter-Verschlüsselung eine Karte von abstrakten Charakteren, um Wörter zu codieren. Eine Codierung in HTTP (und PANTOMIME) Sprachgebrauch ist dasselbe als eine Charakter-Verschlüsselung (aber nicht dasselbe als CCS).

Vermächtnis-Verschlüsselung ist ein Begriff manchmal hat gepflegt, alten Charakter encodings, aber mit einer Zweideutigkeit des Sinns zu charakterisieren. Der grösste Teil seines Gebrauches ist im Zusammenhang von Unicodification, wo es sich auf encodings bezieht, die scheitern, alle Codepunkte von Unicode, oder mehr allgemein mit einem etwas verschiedenen Charakter-Repertoire zu bedecken: Mehrere Codepunkte, die einen Charakter von Unicode oder versa vertreten (sieh z.B Codeseite 437). Einige Quellen kennzeichnen eine Verschlüsselung als Vermächtnis, nur weil es Unicode vorangegangen ist. Alle Windows-Codeseiten werden gewöhnlich Vermächtnis genannt, sowohl weil sie Unicode zurückdatieren, als auch weil sie unfähig sind, alle 2 möglichen Codepunkte von Unicode zu vertreten.

Charakter-Verschlüsselungsübersetzung

Infolge, viele Charakter-Verschlüsselungsmethoden im Gebrauch (und das Bedürfnis nach der rückwärts gerichteten Vereinbarkeit mit archivierten Daten) zu haben, sind viele Computerprogramme entwickelt worden, um Daten zwischen der Verschlüsselung von Schemas zu übersetzen. Einige von diesen werden unten zitiert.

Quer-Plattform:

  • WWW-Browser - modernste WWW-Browser zeigen automatische Charakter-Verschlüsselungsentdeckung. Auf Firefox 3 sieh zum Beispiel die Ansicht/Charakter, Untermenü Zu verschlüsseln.
  • iconv - Programm und standardisierte API, um encodings umzuwandeln
  • convert_encoding.py - Pythonschlange hat Dienstprogramm gestützt, um Textdateien zwischen willkürlichem encodings und Linienenden umzuwandeln.
  • decodeh.py - Algorithmus und Modul, um die Verschlüsselung einer Schnur heuristisch zu erraten.
  • Internationale Bestandteile für Unicode - Eine Reihe von Bibliotheken von C und Java, um charset Konvertierung durchzuführen. uconv kann von ICU4C verwendet werden.
  • chardet - Das ist eine Übersetzung des Codes der automatischen Verschlüsselungsentdeckung von Mozilla in die Pythonschlange-Computersprache.
  • Die neueren Versionen der unix Datei befehlen Versuch, eine grundlegende Entdeckung der Charakter-Verschlüsselung zu tun. (auch verfügbar auf cygwin und mac)

Linux:

  • Wiedercode - wandelt Dateiinhalt von einer Verschlüsselung bis einen anderen um
  • utrac - wandeln Dateiinhalt von einer Verschlüsselung bis einen anderen um.
  • cstocs - wandeln Dateiinhalt von einer Verschlüsselung bis einen anderen um
  • convmv - wandeln einen Dateinamen von einer Verschlüsselung bis einen anderen um.
  • enca - analysiert encodings für gegebene Textdateien.

Windows:

  • Verschlüsselung. Bekehrter-.NET API
  • MultiByteToWideChar/WideCharToMultiByte - Wandeln Sich von ANSI bis Unicode & Unicode zu ANSI Um
  • cscvt - Codierungsumwandlungswerkzeug
enca - analysiert encodings für gegebene Textdateien.

Siehe auch

  • - Artikel haben sich auf die Charakter-Verschlüsselung in allgemeinem bezogen
  • - Artikel, die über spezifischen Charakter encodings ausführlich berichten
  • Codeseite - verschiedene Codierung encodings verwendet von IBM, Microsoft, SAP …
  • Mojibake - Codierung mismap.
  • Mojikyo - ein System ('glyph Satz'), der mehr als 100,000 chinesische Charakter-Zeichnungen, modern und alt, populär und dunkel einschließt.
  • TRON, ein Teil des TRON-Projektes, ist ein Verschlüsselungssystem, das Vereinigung von Han nicht verwendet, stattdessen verwendet es 'Kontrollcodes', um zwischen 16-Bit-'Flugzeugen' von Charakteren umzuschalten.
  • Universale Codierungscharaktere
  • Windows codiert Seite - verschiedene Codierung encodings verwendet durch Windows von Microsoft

Allgemeiner Charakter encodings

  • ISO 646
  • ASCII
  • EBCDIC
  • CP37
  • CP930
  • CP1047
  • ISO 8859:
  • ISO das 8859-1 Westeuropa
  • ISO das 8859-2 Westeuropa und Mitteleuropa
  • ISO das 8859-3 Westeuropa und der Südeuropäer (Türkisch, Maltesisch plus Esperanto)
  • ISO das 8859-4 Westeuropa und die Baltischen Länder (Litauen, Estland, Lettland und Lapp)
  • ISO 8859-5 Kyrillisches Alphabet
  • ISO 8859-6 arabische
  • ISO 8859-7 griechische
  • ISO die 8859-8 hebräischen
  • ISO das 8859-9 Westeuropa mit der amendierten türkischen Codierung
  • ISO das 8859-10 Westeuropa mit der rational erklärten Codierung für nordische Sprachen, einschließlich des ganzen isländischen Satzes
  • ISO 8859-11 thailändische
  • ISO 8859-13 Baltische Sprachen plus polnischer
  • ISO 8859-14 keltische Sprachen (Irisch gälisch, schottisch, walisisch)
  • ISO 8859-15 Hinzugefügte das Eurozeichen und anderer rationalisations zu ISO 8859-1
  • ISO 8859-16 Zentrale, Östliche und Südeuropäische Sprachen (albanisches, kroatisches, ungarisches, polnisches, rumänisches, serbisches und slowenisches sondern auch französisches, deutsches, italienisches und irisches Gälisch)
  • CP437, CP737, CP850, CP852, CP855, CP857, CP858, CP860, CP861, CP862, CP863, CP865, CP866, CP869
  • Codierungen des FRAU-WINDOWS:
  • Windows 1250 für mitteleuropäische Sprachen, die lateinische Schrift, (Polnisch, Tschechisch, Slowakisch, Ungarisch, Slowenisch, Serbisch, Kroatisch, Rumänisch und Albanisch) verwenden
  • Windows 1251 für Kyrillische Alphabete
  • Windows 1252 für Westsprachen
  • Windows 1253 für griechischen
  • Windows 1254 für türkischen
  • Windows 1255 für den hebräischen
  • Windows 1256 für arabischen
  • Windows 1257 für Baltische Sprachen
  • Windows 1258 für vietnamesischen
  • Mac OS Roman
  • KOI8-R, KOI8-U, KOI7
  • MIK
  • ISCII
  • TSCII
  • VISCII
  • JIS X 0208 ist ein weit aufmarschierter Standard für den japanischen Charakter, der verschlüsselt, der mehrere Verschlüsselungsformen hat.
  • Wechseln Sie JIS aus (Seite 932 von Microsoft Code ist ein Dialekt von Shift_JIS)
  • EUC-JP
  • ISO-2022-JP
  • JIS X 0213 ist eine verlängerte Version von JIS X 0208.
  • Shift_JIS-2004
  • EUC-JIS-2004
  • ISO 2022 JP 2004
  • Chinesischer Guobiao
  • GB 2312
  • GBK (Seite 936 von Microsoft Code)
  • GB 18030
  • Big5 von Taiwan (ist eine berühmtere Variante Seite 950 von Microsoft Code)
  • Hongkong HKSCS
  • Koreanischer
  • KS X 1001 ist ein koreanischer Charakter-Verschlüsselungsstandard des doppelten Bytes
  • EUC-KR
  • ISO-2022-KR
  • Unicode (und Teilmengen davon, wie das Mehrsprachige Grundlegende '16-Bit-Flugzeug'). Sieh UTF-8
  • ANSEL oder ISO/IEC 6937

Links


Klassische Periode (Musik) / Überzeugungskraft
Impressum & Datenschutz