Heim Backend-Entwicklung PHP-Tutorial PHP中实现中文字符进制转换原理分析_php技巧

PHP中实现中文字符进制转换原理分析_php技巧

May 17, 2016 am 09:14 AM
中文字符 进制转换

一,中文字符转十进制原理分析

GBK编码中一个汉字由二个字符组成,获取汉字字符串的方法如下
复制代码 代码如下:

$string = "不要迷恋哥";
$length = strlen($string);
for($i=0;$iif(ord($string[$i])>127){
$result[] = ord($string[$i]).' '.ord($string[++$i]);
}
}
var_dump($result);

php-ord-dec-number
由于一个汉字为两个字符组成,通过ord()函数获取字符的ASCII值如果大于127时,就可以确定当前字符为一个汉字的前半部分,还需要获取汉字的后半部分。当然,这种判断的方法要结合具体的开发环境,如果存在ASCII值大于127的单个字符,这种方法判断显然就不正确。

PHP实现中文字符转十进制的原理就是通过for循环的方法获取一个汉字的二个字符,然后使用ord()函数把各字符转换为十进制。如上分别是:不 [178 187] 要 [210 170] 迷 [195 212] 恋 [193 181] 哥 [184 231]

二,中文字符转十六进制原理分析

使用UltraEdit开发工具可以直接查看中文字符的十六进制,如下图

如,查看“不要迷恋哥”这五个字的十六进制
ultraedit-16-hex
从上面的图可以知道各个汉字对应该的十六进制字符分别是:不 B2BB 要 D2AA 迷 C3D4 恋 C1B5 哥 B8E7

PHP 实现中文字符转十六进制的原理就是首先使用ord()函数取出各个中文字符的十进制,具体可查看[PHP函数篇掌握ord()与chr()函数应用],然后使用dechex()函数把各个中文字符转化为十六进制

实例源代码
复制代码 代码如下:

$string = "不要迷恋哥";
$length = strlen($string);
echo $string;
$result = array();
//十进制
for($i=0;$iif(ord($string[$i])>127){
$result[] = ord($string[$i]).' '.ord($string[++$i]);
}
}
var_dump($result);
//十六进制
$strings = array();
foreach($result as $v){
$dec = explode(" ",$v);
$strings[] = dechex($dec[0])." ".dechex($dec[1]);
}
var_dump($strings);

结果如下图

php-dec-hex-string

通过上面的方法实现把中文字符转换为十六进制,输出结果可对比使用UltraEdit开发工具获取的十六进制。

三,中文字符转二进制和八进制原理分析

实现中文字符转二进制和八进制与上面的十六进制转换原理一样,只是转换的函数不同,结合上面的实例代码,实现如下

中文字符转二进制,方法如下
复制代码 代码如下:

$strings = array();
foreach($result as $v){
$dec = explode(" ",$v);
$strings[] = decbin($dec[0])." ".decbin($dec[1]);
}
var_dump($strings);

结果如下:
php-dec-bin-string
中文字符转八进制,方法如下
复制代码 代码如下:

$strings = array();
foreach($result as $v){
$dec = explode(" ",$v);
$strings[] = decoct($dec[0])." ".decoct($dec[1]);
}

结果如下:
php-string-hex
了解PHP实现中文字符进制转换原理,再通过PHP内置函数urldecode()就可以把十六进制的字符串通过组合转换为正常的中文汉字,请关注下一期中文字符编码研究系列之urldecode()与urlencode()函数字符编码原理。
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ßer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

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)

So überprüfen Sie, ob die Eingabe ausschließlich aus chinesischen Zeichen in Golang besteht So überprüfen Sie, ob die Eingabe ausschließlich aus chinesischen Zeichen in Golang besteht Jun 24, 2023 am 09:16 AM

Mit der Entwicklung der Zeit legen wir immer mehr Wert auf die Überprüfung von Daten, insbesondere auf die Überprüfung von Benutzereingaben. Bei der Sprachüberprüfung ist es zu einem wichtigen Thema geworden, genau zu bestimmen, ob die Eingabe ausschließlich aus chinesischen Zeichen besteht. In Golang können wir das Unicode-Paket und das Regexp-Paket verwenden, um diese Anforderung zu erfüllen. 1. Unicode-Paket Das Unicode-Paket bietet eine Reihe von Kernunterstützungen für Unicode. Mit den Funktionen in diesem Paket können wir genau bestimmen, ob es sich bei einem Zeichen um ein chinesisches Schriftzeichen handelt.

So verwenden Sie die CONV-Funktion in MySQL, um einen numerischen Wert in eine andere Basis umzuwandeln So verwenden Sie die CONV-Funktion in MySQL, um einen numerischen Wert in eine andere Basis umzuwandeln Jul 12, 2023 pm 02:33 PM

So verwenden Sie die CONV-Funktion in MySQL, um einen Wert in eine andere Basis zu konvertieren. Einführung: In der Datenbank ist es häufig erforderlich, einen Wert zwischen verschiedenen Basen zu konvertieren. MySQL bietet eine sehr praktische Funktion CONV, mit der sich numerische Werte schnell in Hexadezimalkonvertierungen umwandeln lassen. Dieser Artikel beschreibt die Verwendung der CONV-Funktion und enthält einige Codebeispiele. 1. Überblick über die CONV-Funktion Die CONV-Funktion ist eine von MySQL bereitgestellte mathematische Funktion, die zum Konvertieren eines Werts von einer Basis in eine andere verwendet wird. es ist

Wie gehe ich mit dem Pinyin-Sortierungsproblem chinesischer Schriftzeichen in PHP um? Wie gehe ich mit dem Pinyin-Sortierungsproblem chinesischer Schriftzeichen in PHP um? Sep 05, 2023 pm 05:00 PM

Wie gehe ich mit dem Pinyin-Sortierungsproblem chinesischer Schriftzeichen in PHP um? Bei der Entwicklung chinesischer Websites oder Anwendungen stehen wir häufig vor der Notwendigkeit, chinesische Zeichenfolgen nach Pinyin zu sortieren. Aufgrund der Komplexität chinesischer Schriftzeichen führt die direkte Verwendung herkömmlicher Sortieralgorithmen jedoch zu Fehlern bei den Sortierergebnissen. Daher müssen wir eine spezielle Methode verwenden, um das Pinyin-Sortierungsproblem chinesischer Schriftzeichen zu lösen. In PHP besteht eine gängige Lösung darin, eine Pinyin-Bibliothek wie „Overtrue/Pinyin“ zu verwenden. Dies ist ein auf PHP basierendes Pinyin

Wie sortiere ich chinesische Zeichen in einer C-Sprachumgebung? Wie sortiere ich chinesische Zeichen in einer C-Sprachumgebung? Feb 18, 2024 pm 02:10 PM

Wie implementiert man die Sortierfunktion für chinesische Zeichen in C-Programmiersoftware? In der modernen Gesellschaft ist die Sortierfunktion für chinesische Zeichen eine der wesentlichen Funktionen in vielen Softwareprogrammen. Ob in Textverarbeitungsprogrammen, Suchmaschinen oder Datenbanksystemen: Chinesische Schriftzeichen müssen sortiert werden, um chinesische Textdaten besser anzeigen und verarbeiten zu können. Wie implementiert man in der C-Sprachprogrammierung die Sortierfunktion für chinesische Zeichen? Eine Methode wird im Folgenden kurz vorgestellt. Um die Sortierfunktion für chinesische Zeichen in der C-Sprache zu implementieren, müssen wir zunächst die Zeichenfolgenvergleichsfunktion verwenden. Ran

Wie erhalte ich den ersten Buchstaben chinesischer Schriftzeichen in PHP? Wie erhalte ich den ersten Buchstaben chinesischer Schriftzeichen in PHP? Sep 06, 2023 am 11:18 AM

Wie erhalte ich den ersten Buchstaben chinesischer Schriftzeichen in PHP? Bei der Verarbeitung chinesischer Schriftzeichen müssen wir manchmal den ersten Buchstaben des chinesischen Schriftzeichens ermitteln. PHP bietet einige integrierte Funktionen und Erweiterungspakete, um diese Funktionalität zu erreichen. Eine übliche Methode ist die Verwendung der Funktion mb_substr() in Kombination mit der Funktion ord(). Die Funktion mb_substr() wird verwendet, um die Teilzeichenfolge einer Zeichenfolge abzurufen, und die Funktion ord() wird verwendet, um den ASCII-Codewert eines Zeichens abzurufen. Wir können den ersten Buchstaben des chinesischen Schriftzeichens ermitteln, indem wir das erste Zeichen und seinen ASCII-Codewert ermitteln.

So verwenden Sie reguläre Ausdrücke, um chinesische Zeichen in PHP abzugleichen So verwenden Sie reguläre Ausdrücke, um chinesische Zeichen in PHP abzugleichen Jun 22, 2023 am 09:16 AM

In PHP ist ein regulärer Ausdruck ein häufig verwendetes Tool zum Abgleich von Zeichenfolgen. Mit ihm kann festgestellt werden, ob eine Zeichenfolge einem bestimmten Format entspricht, und so die Gültigkeit des Eingabewerts überprüft werden. Da bei der Verarbeitung chinesischer Zeichen chinesische und englische Zeichen unterschiedlich codiert werden, müssen die Abgleichsregeln des regulären Ausdrucks entsprechend angepasst werden. In diesem Artikel wird erläutert, wie Sie reguläre Ausdrücke verwenden, um chinesische Zeichen in PHP abzugleichen. 1. Verstehen Sie die chinesische Zeichenkodierung. In PHP werden häufig UTF-8 und G verwendet.

PHP-Praxis für reguläre Ausdrücke: Übereinstimmung chinesischer Schriftzeichen PHP-Praxis für reguläre Ausdrücke: Übereinstimmung chinesischer Schriftzeichen Jun 22, 2023 pm 08:34 PM

Bei der Entwicklung von Projekten mit PHP müssen wir häufig chinesische Schriftzeichen verarbeiten. Reguläre Ausdrücke sind ein leistungsstarkes Textverarbeitungstool, mit dem wir chinesische Schriftzeichen schnell und genau zuordnen und verarbeiten können. In diesem Artikel werde ich verwandte Techniken und Beispiele vorstellen, wie man reguläre PHP-Ausdrücke verwendet, um chinesische Zeichen abzugleichen. Zuordnen chinesischer Schriftzeichen Zunächst müssen wir verstehen, wie chinesische Schriftzeichen im Computer dargestellt werden. Normalerweise werden chinesische Schriftzeichen mithilfe der Unicode-Kodierung dargestellt. In Unicod

So konvertieren Sie Dezimalzahlen in Binärzahlen in C-Sprache So konvertieren Sie Dezimalzahlen in Binärzahlen in C-Sprache Nov 24, 2022 am 10:27 AM

So konvertieren Sie eine Dezimalzahl in eine Binärzahl: Teilen Sie die Dezimalzahl weiter durch 2, bis der Quotient Null ist, und schreiben Sie dann den Rest von unten nach oben mit dem Konvertierungscode „int main(void){int n,len;int a[20]“ ;scanf("%d",&n);while(n/2){a[len++]=n%2;n=n/2;}a[len++]=n%2;for(i=len-1 ;i>=0;i--){printf("%d",a[i]);}}".

See all articles