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.
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!