Heim  >  Artikel  >  Welche Kodierung ist utf-8?

Welche Kodierung ist utf-8?

青灯夜游
青灯夜游Original
2020-10-21 16:25:3787714Durchsuche

UTF-8 ist eine Zeichenkodierung variabler Länge für Unicode; sie kann zur Darstellung jedes Zeichens im Unicode-Standard verwendet werden, und das erste Byte in seiner Kodierung ist weiterhin mit ASCII kompatibel, wodurch die ursprüngliche Verarbeitung von ASCII-Zeichen ermöglicht wird kann ohne oder mit nur geringfügigen Änderungen weiterhin verwendet werden.

Welche Kodierung ist utf-8?

UTF-8 (8-Bit, Universal Character Set/Unicode Transformation Format) ist eine Zeichenkodierung variabler Länge für Unicode. Es kann zur Darstellung jedes Zeichens im Unicode-Standard verwendet werden und das erste Byte seiner Kodierung ist weiterhin mit ASCII kompatibel, so dass die ursprüngliche Software, die ASCII-Zeichen verarbeitet, ohne oder mit nur wenigen Änderungen weiter verwendet werden kann. Daher hat es sich nach und nach zur bevorzugten Kodierung für E-Mails, Webseiten und andere Anwendungen entwickelt, die Text speichern oder übertragen.

Grundlegende Funktionen

UCS-Zeichen U+0000 bis U+007F (ASCII) werden als Bytes 0×00 bis 0x7F (ASCIⅡ-kompatibel) codiert. Das bedeutet, dass Dateien, die nur 7-Bit-ASCII-Zeichen enthalten, sowohl in der ASCII- als auch in der UTF-8-Kodierung gleich sind.

Alle UCS-Zeichen größer als 0x007F werden als Zeichenfolge aus mehreren Bytes codiert, wobei für jedes Byte ein Flag-Bit gesetzt ist. Daher ist es unmöglich, dass ASCII-Bytes (0x00-0x7F) Teil anderer Zeichen sind. Das erste Byte einer Multibyte-Zeichenfolge, die ein Nicht-ASCII-Zeichen darstellt, liegt immer im Bereich 0xC0 bis 0XFD und gibt an, wie viele Bytes das Zeichen enthält. Die restlichen Bytes des Multibyte-Strings liegen im Bereich 0x80 bis 0xBF. Dies macht die Neusynchronisierung sehr einfach und sorgt dafür, dass Codierungen grenzenlos sind und selten durch fehlende Bytes beeinträchtigt werden.

UTF-8-kodierte Zeichen können theoretisch bis zu 6 Bytes lang sein. 16-Bit-BMP-Zeichen können jedoch nur bis zu 3 Bytes lang sein. Die Anordnungsreihenfolge von Bigendian UCS-4-Byte-Strings ist vorgegeben, die Bytes 0xFE und OxFF wird nie in der UTF-8-Codierung verwendet.

Anzahl der Codierungsbytes

UTF-8 verwendet 1~4 Bytes zum Codieren jedes Zeichens:

·Ein US-ASCIL-Zeichen benötigt nur 1 Byte Codierung (Unicode-Bereich ist U+0000~U+007F).

·Lateinische, griechische, kyrillische, armenische, hebräische, arabische, syrische und andere Buchstaben mit diakritischen Zeichen erfordern eine 2-Byte-Kodierung (Unicode-Bereich ist U+0080~U+ 07FF).

·Zeichen in anderen Sprachen (einschließlich chinesischer, japanischer und koreanischer Zeichen, südostasiatischer Zeichen, nahöstlicher Zeichen usw.) umfassen die am häufigsten verwendeten Zeichen und verwenden eine 3-Byte-Kodierung.

·Andere selten verwendete Sprachzeichen verwenden eine 4-Byte-Kodierung.

UTF-8-Kodierungsregeln:

Wenn es nur ein Byte gibt, ist sein höchstes Binärbit 0; wenn es mehrere Bytes sind, beginnt das erste Byte mit dem höchsten Bit und die aufeinanderfolgenden Binärbits haben einen Wert von 1 Die Zahl bestimmt die Anzahl der codierten Bytes und die verbleibenden Bytes beginnen mit 10.

Das obige ist der detaillierte Inhalt vonWelche Kodierung ist utf-8?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn