So konvertieren Sie PHP utf8 in Unicode
So konvertieren Sie PHP utf8 in Unicode: Definieren Sie dann eine „utf8_str_to_unicode“-Methode. Implementieren Sie dann die Konvertierungsfunktion über die Funktionen ord und dechex.
PHP implementiert die gegenseitige Konvertierung zwischen Unicode und Utf-8-Kodierung
Seit kurzem muss ich zufällig Unicode verwenden Bei der Kodierungskonvertierung habe ich die Bibliotheksfunktionen von PHP überprüft, konnte aber keine Funktion finden, die Unicode-Strings kodieren und dekodieren kann! Wenn Sie es nicht finden können, implementieren Sie es einfach selbst. . .
Der Unterschied zwischen Unicode und Utf-8-Codierung
Unicode ist ein Zeichensatz, und UTF-8 ist einer von Unicode mit fester Länge , während UTF-8 variabel ist, belegt Unicode 1 Byte weniger als UTF-8. Unicode besteht aus Doppelbytes, während chinesische Zeichen in UTF-8 drei Bytes belegen.
UTF-8-kodierte Zeichen können theoretisch bis zu 6 Byte lang sein, aber 16-Bit-BMP-Zeichen (Basic Multilingual Plane) können nur bis zu 3 Byte lang sein. Werfen wir einen Blick auf die UTF-8-Kodierungstabelle: Die Position von
1 2 3 4 5 6 |
|
xxx wird durch die binäre Darstellung der Zeichenkodierungsnummer ausgefüllt. Das weiter rechts stehende x hat eine weniger spezielle Bedeutung und nur das Die kürzeste Zahl reicht aus, um sie auszudrücken. Eine aus mehreren Bytes bestehende Zeichenkette, die Zahlen kodiert. Beachten Sie, dass in einer Multibyte-Zeichenfolge die Anzahl der „1“ am Anfang des ersten Bytes der Anzahl der Bytes in der gesamten Zeichenfolge entspricht. Die erste Zeile beginnt mit 0, um mit der ASCII-Codierung kompatibel zu sein. Dies entspricht einem Byte, die zweite Zeile ist eine Doppelbyte-Zeichenfolge und die dritte Zeile besteht aus 3 Bytes, z. B. chinesischen Zeichen usw. (Persönlich denke ich: Tatsächlich können wir die Anzahl der Einsen vor uns einfach als Anzahl der Bytes betrachten)
So konvertieren Sie Unicode in Utf-8
In Um Unicode in UTF-8 zu konvertieren, müssen Sie natürlich wissen, was der Unterschied ist. Schauen wir uns an, wie die Codierung in Unicode in UTF-8 konvertiert wird. Wenn das Byte eines Zeichens kleiner als 0x80 (128) ist, handelt es sich um ein ASCII-Zeichen, das ein Byte einnimmt, und es erfolgt keine Konvertierung erforderlich, da UTF-8 mit der ASCII-Kodierung kompatibel ist. Wenn die Codierung des chinesischen Zeichens „you“ in Unicode „u4F60“ ist, konvertieren Sie es in die Binärform 100111101100000 und konvertieren Sie es dann gemäß der UTF-8-Methode. Binärziffern können aus der Unicode-Binärdatei von niedrig nach hoch entnommen werden, wobei jeweils 6 Bits eingenommen werden. Die obige Binärziffer kann beispielsweise in das unten gezeigte Format übernommen werden mehr als 8 Bits werden mit 0 aufgefüllt.
1 2 |
|
Von oben können Sie die Konvertierung zwischen Unicode und UTF-8 intuitiv erkennen. Nachdem Sie das Format von UTF-8 kennen, können Sie natürlich die umgekehrte Operation ausführen, d. h. es in binär konvertieren Nehmen Sie es entsprechend dem Format aus der entsprechenden Position heraus und konvertieren Sie es dann in das resultierende Unicode-Zeichen (dieser Vorgang kann durch „Verschiebung“ abgeschlossen werden). Beispielsweise kann bei der obigen Konvertierung von „Sie“ der Wert als Drei-Byte-Speicher beurteilt werden, da sein Wert größer als 0x800 und kleiner als 0x10000 ist. Dann muss das höchste Bit um „12“ Bits nach rechts verschoben werden und dann ist das höchste Bit gemäß dem Drei-Byte-Format 11100000 (0xE0) oder (|), um den höchsten Wert zu erhalten. Auf die gleiche Weise wird die zweite Ziffer um „6“ Bits nach rechts verschoben und der Binärwert der höchsten Ziffer und der zweiten Ziffer nach links verschoben. Dies kann durch Ausführen der Positionsoperation (&) mit 111111 (0x3F) berechnet werden ) und dann mit 11000000 (0x80 oder (|)) summiert. Das dritte Bit muss nicht verschoben werden. Nehmen Sie einfach die letzten sechs Bits direkt (& mit 111111 (ox3F)) und verknüpfen Sie sie dann mit ODER (|) mit 11000000 (0x80).
So kehren Sie UTF-8 wieder in Unicode um
Natürlich erfolgt die Konvertierung von UTF-8 nach Unicode auch durch Verschiebung usw., d.h. Beim Konvertieren von UTF-8 wird die Binärzahl an der entsprechenden Position des Formats extrahiert. Im obigen Beispiel besteht „you“ aus drei Bytes, daher muss jedes Byte verarbeitet werden, vom High-Bit bis zum Low-Bit.
In UTF-8 ist „Sie“ 11100100,10111101,10100000. Ausgehend vom High-Bit, also dem ersten Byte 11100100, ist es ganz einfach, das UND (&) mit 11111 (0x1F) zu verbinden Die höchste Position muss vor dem 12. Bit liegen, da jedes Mal sechs Ziffern verwendet werden.
Das Ergebnis muss also um 12 Bit nach links verschoben werden, und das höchste Bit ist jetzt 0100.000000.000000. Das zweite Bit besteht darin, „111101“ herauszunehmen, Sie müssen also nur das zweite Byte 10111101 und 111111 (0x3F) UND (&) verknüpfen. Nachdem das Ergebnis um 6 Bit nach links verschoben und das Ergebnis des höchsten Bytes oder (|) genommen wurde, ist das zweite Bit vervollständigt und das Ergebnis ist 0100,111101,000000.
Analog dazu wird die letzte Ziffer direkt mit 111111 (0x3F) UND-verknüpft (&) und dann mit dem vorherigen Ergebnis ODER-verknüpft (|), um das Ergebnis 0100,111101,100000 zu erhalten.
PHP-Code-Implementierung
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
Getestet
1 2 3 4 5 6 7 |
|
Die oben genannten Konvertierungen sind Tests für chinesische Zeichen [die im Allgemeinen nicht ASCII sind], denn wenn sie ASCII sind, ist es das Wiederholen Sie das Gleiche, sodass Sie sich nicht so viel Mühe geben müssen.
Außerdem sind diese beiden Funktionen einfach implementiert und unterstützen nur die Konvertierung einzelner Zeichen [ein vollständiges UTF8-Zeichen oder ein vollständiges Unicode-Zeichen]. Wenn Sie es verstehen, können Sie es genießen. . .
Empfohlen: „PHP-Tutorial“
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie PHP utf8 in Unicode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

UTF8-kodierte chinesische Zeichen belegen 3 Bytes. Bei der UTF-8-Kodierung entspricht ein chinesisches Zeichen drei Bytes und ein chinesisches Satzzeichen belegt drei Bytes, während bei der Unicode-Kodierung ein chinesisches Zeichen (einschließlich traditionellem Chinesisch) zwei Bytes entspricht. UTF-8 benötigt zur Kodierung jedes Zeichens nur 1 Byte. Für Latein, Griechisch, Kyrillisch und Hebräisch sind 2 Byte erforderlich Codierung.

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

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.

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

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

Mit der Entwicklung von Technologien wie Big Data und Cloud Computing sind Datenbanken zu einem wichtigen Eckpfeiler der Unternehmensinformatisierung geworden. Bei in Java entwickelten Anwendungen ist die Verbindung zur MySQL-Datenbank zur Norm geworden. Bei diesem Vorgang stoßen wir jedoch häufig auf ein heikles Problem: Die Codierung des Unicode-Zeichensatzes ist inkonsistent. Dies wirkt sich nicht nur auf unsere Entwicklungseffizienz aus, sondern auch auf die Leistung und Stabilität der Anwendung. In diesem Artikel erfahren Sie, wie Sie dieses Problem lösen und die Verbindung zwischen Java und der MySQL-Datenbank reibungsloser gestalten können. 1. Unicode

Zu den Unterschieden zwischen Unicode und ASCII gehören unterschiedliche Codierungsbereiche, unterschiedliche Speicherplätze und unterschiedliche Kompatibilität. Detaillierte Einführung: 1. Der Codierungsbereich von ASCII ist unterschiedlich und wird hauptsächlich zur Darstellung englischer Buchstaben verwendet. Der Codierungsbereich von Unicode ist viel breiter und kann fast alle Sprachzeichen darstellen Leerzeichen sind unterschiedlich. ASCII verwendet normalerweise 1 Byte zum Speichern eines Zeichens, während Unicode möglicherweise 2 oder mehr Bytes zum Speichern eines Zeichens verwendet. Unterschiedliche Kompatibilität usw.

Lösung für verstümmelte chinesische Zeichen im Knoten utf8: 1. Überprüfen Sie den Typ von „SarchName“ über „typeof“. 2. Verwenden Sie „Name=iconv.decode(name,‘gbk‘)“, um die Codierung in utf8 zu konvertieren.
