Heim >Backend-Entwicklung >PHP-Problem >Wie viele Bytes hat ein chinesisches Zeichen in PHP?
Zeicheneinführung:
In js belegt Chinesisch zwei Zeichen und Englisch ein Zeichen; in PHP, Verschiedene Kodierungen sind unterschiedlich. Bei der GBK/GB2312-Kodierung belegt ein chinesisches Zeichen 2 Zeichen, und bei der UTF-8/Unicode-Kodierung belegt ein chinesisches Zeichen 3 Zeichen.
PHP-Tutorial》
PHP belegt unter UTF-8-Kodierung ein chinesisches Zeichen 3 Bytes und unter GBK-Kodierung nur 2 Bytes.
zìfú (Character)Character ist eine abstrakte Entität, die mithilfe vieler verschiedener Zeichenschemata oder Codepages dargestellt werden kann. Beispielsweise stellt die Unicode UTF-16-Kodierung Zeichen als Folge von 16-Bit-Ganzzahlen dar, während die Unicode UTF-8-Kodierung dieselben Zeichen als Folge von 8-Bit-Bytes darstellt. Die Common Language Runtime verwendet Unicode UTF-16 (Unicode Transformation Format, eine 16-Bit-Kodierung) zur Darstellung von Zeichen. Anwendungen, die auf die Common Language Runtime abzielen, verwenden Codierungen, um Zeichentabellenformen von nativen Zeichenschemata auf andere Schemata abzubilden. Anwendungen nutzen die Dekodierung, um Zeichen aus nicht nativen Schemata nativen Schemata zuzuordnen.
Zìjié (Byte)Byte (Byte): Ein Byte ist eine Einheit zum Übertragen von Informationen über ein Netzwerk (oder zum Speichern von Informationen auf einer Festplatte oder im Speicher). . Ein englischer Buchstabe (unabhängig von Groß- und Kleinschreibung) belegt ein Byte Platz und ein chinesisches Zeichen zwei Byte Platz.
Symbol: Englische Interpunktion belegt ein Byte, chinesische Interpunktion belegt zwei Bytes.
Eine binäre Zahlenfolge, die im Computer als digitale Einheit verwendet wird, ist im Allgemeinen eine 8-Bit-Binärzahl. Ein ASCII-Code ist beispielsweise ein Byte. Die Umrechnung solcher Einheiten ist:
Der Schlüssel zum Verständnis der Codierung liegt darin, die Konzepte von Zeichen und Bytes genau zu verstehen. Da diese beiden Konzepte leicht verwechselt werden können, unterscheiden wir hier:
Konzeptbeschreibungsbeispiele
Zeichen Eine von Menschen verwendete Marke, ein Symbol im abstrakten Sinne. '1', '中', 'a', '$', '¥', ……
Byte ist eine Einheit zum Speichern von Daten in einem Computer, eine 8-Bit-Binärzahl, die sehr ist spezifischer Speicherplatz. 0x01, 0x45, 0xFA, ……
ANSI
Die Zeichenfolge befindet sich im Speicher. Wenn das „Zeichen“ in der ANSI-Kodierung vorhanden ist, kann ein Zeichen einen Abschnitt mit einem Byte oder mehreren Wörtern verwenden Nennen Sie diese Zeichenfolge eine ANSI-Zeichenfolge oder eine Multibyte-Zeichenfolge. „Chinesisch 123“
(belegt 7 Bytes)
UNICODE
Die Zeichenfolge befindet sich im Speicher. Wenn das „Zeichen“ als Seriennummer in UNICODE vorhanden ist, rufen wir auf Bei dieser Art von Zeichenfolge handelt es sich um eine UNICODE-Zeichenfolge oder eine Wide-Byte-Zeichenfolge. L"中文123"
(belegt 10 Bytes)
Da die durch verschiedene ANSI-Codierungen angegebenen Standards unterschiedlich sind, müssen wir für eine bestimmte Multibyte-Zeichenfolge wissen, welche Codierungsregel gilt Es weiß, welche „Zeichen“ es enthält. Bei UNICODE-Zeichenfolgen ist der dargestellte „Zeichen“-Inhalt unabhängig von der Umgebung immer derselbe.
Das obige ist der detaillierte Inhalt vonWie viele Bytes hat ein chinesisches Zeichen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!