Heim > Artikel > Backend-Entwicklung > Wie man Chinesisch in PHP in Hexadezimal umwandelt
PHP ist eine beliebte Programmiersprache, die im Bereich der Webentwicklung weit verbreitet ist. Während des Entwicklungsprozesses ist es manchmal notwendig, chinesischen Text in Hexadezimalzahl umzuwandeln, um die Speicherung, Übertragung und Verarbeitung zu erleichtern. In diesem Artikel wird erläutert, wie Sie mit PHP die Funktion der Konvertierung von Chinesisch in Hexadezimalzahl realisieren.
1. Was ist hexadezimal
In Computern werden Zahlen in binärer Form (bestehend aus 0 und 1) gespeichert und berechnet. Hexadezimal ist eine Darstellungsmethode für Binärzahlen, bei der 16 Zeichen (0-9, A-F) zur Darstellung von 16 Zahlen (0-15) verwendet werden.
Zum Beispiel ist die Hexadezimalzahl, die der Dezimalzahl 10 entspricht, A, und die Hexadezimalzahl, die der Dezimalzahl 255 entspricht, ist FF.
2. Konvertieren Sie Chinesisch in Hexadezimal
In PHP können Sie die Funktion bin2hex() verwenden, um eine Zeichenfolge in Hexadezimal umzuwandeln. Diese Funktion kann jedoch nur englische Buchstaben, Zahlen und einige Symbole in Hexadezimalzahlen umwandeln und Chinesisch nicht direkt in Hexadezimalzahlen umwandeln.
Um dieses Problem zu lösen, können wir die byteweise Konvertierungsmethode der UTF-8-Codierung verwenden, um chinesische Zeichen nacheinander in eine hexadezimale Darstellung umzuwandeln. Die spezifische Methode ist wie folgt:
$string = "Chinese string";
$hex = '';
for ($i = 0; $i < mb_strlen($i++) {
}
echo $hex; // Ausgabe "E4B8ADE69687E5AD97E7ACACE4B8B2E7A792E7958C"
🎜 🎜 ## 🎜🎜#Im obigen Code definieren wir zunächst eine Zeichenfolge, die Chinesisch enthält, verwenden dann eine Schleife, um die UTF-8-codierte Bytesequenz Byte für Byte zu erhalten, und verwenden die Funktion sprintf(), um jedes Byte in zwei Bits umzuwandeln Hexadezimale Darstellung von . Durch Zusammenfügen aller hexadezimalen Darstellungen erhält man schließlich die hexadezimale Darstellung der chinesischen Zeichenfolge.
3. Hexadezimal in Chinesisch konvertieren
In ähnlicher Weise können wir auch die Funktion hex2bin() verwenden, um Hexadezimal in eine Zeichenfolge umzuwandeln. Da chinesische Zeichen jedoch normalerweise in Form der UTF-8-Codierung gespeichert und übertragen werden, müssen Sie bei der Konvertierung von Hexadezimalzeichen in chinesische Zeichen zuerst die Hexadezimalzahl in eine UTF-8-codierte Bytesequenz konvertieren und dann die Funktion mb_convert_encoding () verwenden um eine Folge von Bytes in einen String umzuwandeln.
Die spezifische Methode ist wie folgt:
$hex = "E4B8ADE69687E5AD97E7ACACE4B8B2E7A792E7958C";
$string = '';# 🎜 🎜#for ($i = 0; $i < strlen($hex); $i += 2) {
$hex .= sprintf("%02X", ord(mb_substr($string, $i, 1)));
?>
Im obigen Code definieren wir zunächst einen hexadezimalen String Verwenden Sie dann eine Schleife, um die hexadezimale Darstellung jedes Bytes einzeln zu erhalten, konvertieren Sie sie in den entsprechenden ASCII-Code und konvertieren Sie den ASCII-Code dann mit der Funktion chr () in Zeichen. Beachten Sie, dass chinesische Zeichen normalerweise in der GBK-Kodierung gespeichert und übertragen werden. Wenn Sie eine Bytefolge in eine Zeichenfolge konvertieren, müssen Sie die Zielkodierung auf UTF-8 festlegen.
Das obige ist der detaillierte Inhalt vonWie man Chinesisch in PHP in Hexadezimal umwandelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!