On-line UTF-8 Kodierung und Dekodierung

Vollbild

Einführung des Tools

on-line UTF-8 Codec-Tools

UTF-8 kurze Einführung

UTF-8 Ist eine Art Unicode Zeichenkodierung mit variabler Länge für , Auch bekannt als der "universelle Code" .

UTF-8 Verwendung 1 Reichweite 6 Byte-Kodierung UNICODE Zeichen .

UTF-8 Kodierungsvorschriften

Wenn es nur ein Byte gibt, ist das höchste Binärbit: 0;

Wenn es Multi Byte ist , Das erste Byte beginnt mit dem höchsten Bit , Die folgenden Binärwerte sind: 1 Die Anzahl von bestimmt die Anzahl der Bytes, die es codiert , Die verbleibenden Bytes werden durch 10 Start .

UTF-8 Die Umrechnungstabelle ist wie folgt dargestellt: :
Unicode/UCS-4
bit Zahl
UTF-8
byte Zahl
Bemerkungen
0000~
007F
0~7
0XXX XXXX
1
0080~
07FF
8~11
110X XXXX
10XX XXXX
2
0800~
FFFF
12~16
1110XXXX
10XX XXXX
10XX XXXX
3
Grundlegender Definitionsbereich :0~FFFF
1 0000~
1F FFFF
17~21
1111 0XXX
10XX XXXX
10XX XXXX
10XX XXXX
4
Unicode6.1 Definitionsbereich :0~10 FFFF
20 0000~
3FF FFFF
22~26
1111 10XX
10XX XXXX
10XX XXXX
10XX XXXX
10XX XXXX
5
erklären : Das ist nicht unicode Codierungsbereich: , gehören zu UCS-4 Code
Frühe Normen UTF-8 Erreichbar 6 Byte-Sequenz , Kann überschrieben werden in 31 Bit ( Die ursprünglichen Grenzen des universellen Zeichensatzes ). Für all das ,2003 Jahr 11 Monat UTF-8 Abdeckung RFC 3629 Neuspezifikation , Nur das Original Unicode Definierter Bereich ,U+0000 Reichweite U+10FFFF. Nach Spezifikationen , Diese Byte-Werte werden nicht in legal angezeigt UTF-8 In Folge
400 0000~
7FFF FFFF
27~31
1111 110X
10XX XXXX
10XX XXXX
10XX XXXX
10XX XXXX
10XX XXXX
6

UTF-8 Vorteil

UTF-8 Codierung kann durch Maskieren von Bits und Verschieben von Operationen schnell gelesen und geschrieben werden . Zeichenfolgenvergleich strcmp() und wcscmp() Die Rückgaberergebnisse sind die gleichen , So wird die Sortierung einfacher . Byte FF und FE bleiben UTF-8 Nie im Code erscheinen , Daher können sie verwendet werden, um anzuzeigen UTF-16 oder UTF-32 Text ( siehe BOM) UTF-8 Es ist unabhängig von Byte-Reihenfolge . Seine Byte-Reihenfolge ist in allen Systemen gleich , Also braucht es nicht wirklich BOM.

UTF-8 Mangel

Du kannst nicht UNICODE Nach der Anzahl der Zeichen zu urteilen UTF-8 Textbytes , weil UTF-8 Es ist ein Code mit variabler Länge. Es muss verwendet werden 2 Bytes kodieren diejenigen mit Erweiterung ASCII Nur Zeichensatz benötigt 1 Zeichen von Bytes ISO Latin-1 ja UNICODE Teilmenge von , Aber nicht UTF-8 Teilmenge von 8 Bitzeichen UTF-8 Codierung wird email Gateway-Filterung , weil internet Die Informationen wurden ursprünglich entwickelt, um: 7 Position ASCII Code . Als Ergebnis UTF-7 Code . UTF-8 Werte in seiner Darstellung verwenden 100xxxxx Die Wahrscheinlichkeit der Überschreitung 50%, Bestehende Implementierungen wie ISO 2022, 4873, 6429, und 8859 System , Wird es verwechseln mit C1 Kontrollcode . Als Ergebnis UTF-7.5 Code .