Inhaltsverzeichnis
Unicode- und UTF8-Kodierung neu erkennen
Die Beziehung zwischen Unicode und utf8
Lassen Sie uns zuerst über Unicode sprechen Konvertierung
Heim Backend-Entwicklung PHP-Tutorial Unicode- und UTF8-Kodierung neu verstehen

Unicode- und UTF8-Kodierung neu verstehen

Aug 08, 2016 am 09:23 AM
gt unicode

Unicode- und UTF8-Kodierung neu erkennen


Bis heute, um genau zu sein, wusste ich nicht, dass UTF-8-Kodierung und Unicode-Kodierung unterschiedlich sind, es gibt einen Unterschied
Es gibt einen gewissen Zusammenhang zwischen ihnen:

<code>UTF-8的长度是不一定的,有可能是1、2、3字节
Unicode长度一定,2个字节(USC-2)
UTF-8可以和Unicode互相转换</code>
Nach dem Login kopieren

Die Beziehung zwischen Unicode und utf8


Unicode(16进制) UTF-8(二进制)
0000 - 007F 0xxxxxxx
0080 - 07FF 110xxxxx 10xxxxxx
0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx

Oben Die Tabelle hat offensichtlich zwei Bedeutungen. Die andere zeigt, wie Unicode in UTF-8 konvertiert wird:

Lassen Sie uns zuerst über Unicode sprechen Konvertierung

UTF-8-codierte Binärdatei wird mit den oben genannten drei Formaten abgeglichen. Nach dem Abgleich werden die festen Bits (Nicht-x-Positionen in der Tabelle) entfernt und dann wird jede Gruppe von 8 Bits von rechts nach rechts verwendet Wenn nicht genügend 8 Bits vorhanden sind, verwenden Sie nicht die 2 Bytes und 16 Bits, die der UTF-8-Kodierung entsprechen
Unicode- und UTF8-Kodierung neu verstehenIm Bild oben ist das Textkodierungsformat UTF-8, und Sie können WinHex verwenden, um seine hexadezimale Darstellung zu sehen

<code>字符	=> UTF-8	  => UTF-8二进制=> 去掉固定位置凑够16位的二进制 => 16进制

汉 	=> E6B189 => 11100110 10110001 10001001	=> 01101100 01001001 => 6C49
汉 	=> E5AD97 => 11100101 10101101 10010111	=> 01011011	01010111 => 5B57

#下面是在chrome命令行下面运行的结果
'\u6C49'
"汉"
'\u5B57'
"字"

#到这里的话,从UTF-8转换到Unicode已经是一件非常容易的事了,看看转换的伪代码
读取一个字节,11100110
判断该UTF-8字符的格式,属于第三种,3个字节
继续读取2个字节得到 11100101 10101101 10010111
按照格式去掉固定位     1011011 01010111
不够16位,左边补零    01011011 01010111  => 5B57</code>
Nach dem Login kopieren
Schauen wir uns die Konvertierung von Unicode in UTF-8 an
<code>5B57
获取5B57所在的Unicode范围,0800 <= 5B57 <= FFFF,得知5B57的UTF-8有三个字节,形式为1110xxxx 10xxxxxx 10xxxxxx
获取5B57的二进制编码 101101101010111
用上一步骤的二进制编码从右至左拼接UTF-8编码 11100101 10101101 10010111 </code>
Nach dem Login kopieren
Problem


Lassen Sie uns über die Ursache des heutigen Problems sprechen. Viele Wörter werden im UTF-8-Format eingegeben und haben maximal 30 Bytes. Daher wird die Überprüfung im Front-End und im Backend separat durchgeführt. Es handelt sich um eine Unicode-Kodierung, und das Back-End-Programm verwendet die UTF-8-Kodierung. Die aktuelle Lösung lautet wie folgt:

Front-End
<code>function utf8_bytes(str)
{
	var len = 0, unicode;
	for(var i = 0; i < str.length; i++)
	{
		unicode = str.charCodeAt(i);
		if(unicode < 0x0080) {
			++len;
		} else if(unicode < 0x0800) {
			len += 2;
		} else if(unicode <= 0xFFFF) {
			len += 3;
		}else {
			throw "characters must be USC-2!!"
		}
	}
	return len;
}

#例子
utf8_bytes('asdasdas')
8
utf8_bytes('yrt燕睿涛')
12</code>
Nach dem Login kopieren
Backend
<code>#对于GBK字符串
$len = ceil(strlen(bin2hex(iconv('GBK', 'UTF-8', $word)))/2);
#对于UTF8字符串
$len = ceil(strlen(bin2hex($word))/2);</code>
Nach dem Login kopieren
21.05.2015 20:21:53

Das Copyright dieses Artikels liegt für immer beim Autor ( (luluyrt@163.com) Jede Form des Nachdrucks ist ohne Zustimmung des Autors untersagt. Nach dem Nachdruck muss der Autor und der Originaltext-Link eindeutig angegeben werden, andernfalls behalten wir uns vor Recht auf rechtliche Haftung.

Das Obige stellt das neue Verständnis der Unicode- und UTF8-Codierung vor, einschließlich Aspekten des Inhalts. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4? Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4? Dec 29, 2023 pm 02:27 PM

Viele Benutzer werden sich bei der Auswahl von Smartwatches für die Marke Huawei entscheiden. Viele Benutzer sind neugierig auf den Unterschied zwischen Huawei GT3pro und GT4. Was sind die Unterschiede zwischen Huawei GT3pro und GT4? 1. Aussehen GT4: 46 mm und 41 mm, das Material ist Glasspiegel + Edelstahlgehäuse + hochauflösende Faserrückschale. GT3pro: 46,6 mm und 42,9 mm, das Material ist Saphirglas + Titangehäuse/Keramikgehäuse + Keramikrückschale 2. Gesundes GT4: Mit dem neuesten Huawei Truseen5.5+-Algorithmus werden die Ergebnisse genauer. GT3pro: EKG-Elektrokardiogramm sowie Blutgefäß und Sicherheit hinzugefügt

Fix: Snipping-Tool funktioniert unter Windows 11 nicht Fix: Snipping-Tool funktioniert unter Windows 11 nicht Aug 24, 2023 am 09:48 AM

Warum das Snipping-Tool unter Windows 11 nicht funktioniert Das Verständnis der Grundursache des Problems kann dabei helfen, die richtige Lösung zu finden. Hier sind die häufigsten Gründe, warum das Snipping Tool möglicherweise nicht ordnungsgemäß funktioniert: Focus Assistant ist aktiviert: Dies verhindert, dass das Snipping Tool geöffnet wird. Beschädigte Anwendung: Wenn das Snipping-Tool beim Start abstürzt, ist es möglicherweise beschädigt. Veraltete Grafiktreiber: Inkompatible Treiber können das Snipping-Tool beeinträchtigen. Störungen durch andere Anwendungen: Andere laufende Anwendungen können mit dem Snipping Tool in Konflikt geraten. Das Zertifikat ist abgelaufen: Ein Fehler während des Upgrade-Vorgangs kann zu diesem Problem führen. Diese einfache Lösung ist für die meisten Benutzer geeignet und erfordert keine besonderen technischen Kenntnisse. 1. Aktualisieren Sie Windows- und Microsoft Store-Apps

Vertiefendes Verständnis von PHP: Implementierungsmethode zur Konvertierung von JSON Unicode in Chinesisch Vertiefendes Verständnis von PHP: Implementierungsmethode zur Konvertierung von JSON Unicode in Chinesisch Mar 05, 2024 pm 02:48 PM

Vertiefendes Verständnis von PHP: Implementierungsmethode zum Konvertieren von JSONUnicode in Chinesisch Während der Entwicklung stoßen wir häufig auf Situationen, in denen wir JSON-Daten verarbeiten müssen, und die Unicode-Codierung in JSON verursacht in einigen Szenarien einige Probleme, insbesondere wenn Unicode konvertiert werden muss Bei der Kodierung wird in chinesische Zeichen konvertiert. In PHP gibt es einige Methoden, die uns bei der Umsetzung dieses Konvertierungsprozesses helfen können. Im Folgenden wird eine allgemeine Methode vorgestellt und es werden spezifische Codebeispiele bereitgestellt. Lassen Sie uns zunächst das Un in JSON verstehen

So konvertieren Sie Unicode in Chinesisch So konvertieren Sie Unicode in Chinesisch Dec 14, 2023 am 10:57 AM

Unicode ist ein Zeichenkodierungsstandard, der zur Darstellung verschiedener Sprachen und Symbole verwendet wird. Um die Unicode-Kodierung in chinesische Zeichen zu konvertieren, können Sie die in Python integrierten Funktionen chr() und ord() verwenden.

Probieren Sie die Methode aus, um das Problem der verstümmelten chinesischen Zeichen in Eclipse zu lösen Probieren Sie die Methode aus, um das Problem der verstümmelten chinesischen Zeichen in Eclipse zu lösen Jan 03, 2024 pm 05:28 PM

Haben Sie Probleme mit verstümmelten chinesischen Zeichen in Eclipse? Um diese Lösungen auszuprobieren, benötigen Sie konkrete Codebeispiele. 1. Einführung in den Hintergrund Mit der kontinuierlichen Weiterentwicklung der Computertechnologie spielt Chinesisch eine immer wichtigere Rolle in der Softwareentwicklung. Bei der Verwendung von Eclipse für die chinesische Entwicklung stoßen viele Entwickler jedoch auf Probleme mit verstümmeltem Code, was sich auf die Arbeitseffizienz auswirkt. Anschließend werden in diesem Artikel einige häufig auftretende Probleme mit verstümmeltem Code vorgestellt und entsprechende Lösungen und Codebeispiele bereitgestellt, um den Lesern bei der Lösung des chinesischen Problems mit verstümmeltem Code in Eclipse zu helfen. 2. Häufige Probleme mit verstümmeltem Code und Lösungsdateien

So beheben Sie den Fehler „Verbindung zum App Store nicht möglich' auf dem iPhone So beheben Sie den Fehler „Verbindung zum App Store nicht möglich' auf dem iPhone Jul 29, 2023 am 08:22 AM

Teil 1: Erste Schritte zur Fehlerbehebung Überprüfen des Apple-Systemstatus: Bevor wir uns mit komplexen Lösungen befassen, beginnen wir mit den Grundlagen. Das Problem liegt möglicherweise nicht an Ihrem Gerät; die Server von Apple sind möglicherweise ausgefallen. Besuchen Sie die Systemstatusseite von Apple, um zu sehen, ob der AppStore ordnungsgemäß funktioniert. Wenn es ein Problem gibt, können Sie nur warten, bis Apple es behebt. Überprüfen Sie Ihre Internetverbindung: Stellen Sie sicher, dass Sie über eine stabile Internetverbindung verfügen, da das Problem „Verbindung zum AppStore nicht möglich“ manchmal auf eine schlechte Verbindung zurückzuführen ist. Versuchen Sie, zwischen WLAN und mobilen Daten zu wechseln oder die Netzwerkeinstellungen zurückzusetzen (Allgemein > Zurücksetzen > Netzwerkeinstellungen zurücksetzen > Einstellungen). Aktualisieren Sie Ihre iOS-Version:

PHP-Tutorial: So konvertieren Sie JSON-Unicode in chinesische Zeichen PHP-Tutorial: So konvertieren Sie JSON-Unicode in chinesische Zeichen Mar 05, 2024 pm 06:36 PM

JSON (JavaScriptObjectNotation) ist ein leichtes Datenaustauschformat, das häufig für den Datenaustausch zwischen Webanwendungen verwendet wird. Bei der Verarbeitung von JSON-Daten stoßen wir häufig auf Unicode-codierte chinesische Zeichen (z. B. „u4e2du6587“) und müssen diese in lesbare chinesische Zeichen konvertieren. In PHP können wir diese Konvertierung durch einige einfache Methoden erreichen. Als Nächstes erfahren Sie, wie Sie JSONUnico konvertieren

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

See all articles