Maison développement back-end tutoriel php 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()函数字符编码原理。
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser la fonction CONV dans MySQL pour convertir une valeur numérique vers une base différente Comment utiliser la fonction CONV dans MySQL pour convertir une valeur numérique vers une base différente Jul 12, 2023 pm 02:33 PM

Comment utiliser la fonction CONV dans MySQL pour convertir une valeur vers une base différente Introduction : Dans la base de données, il est souvent nécessaire de convertir une valeur entre différentes bases. MySQL fournit une fonction CONV très pratique, qui peut réaliser rapidement une conversion hexadécimale de valeurs numériques. Cet article explique comment utiliser la fonction CONV et fournit quelques exemples de code. 1. Présentation de la fonction CONV La fonction CONV est une fonction mathématique fournie par MySQL, qui est utilisée pour convertir une valeur d'une base à une autre. c'est

Comment vérifier si l'entrée est composée uniquement de caractères chinois en golang Comment vérifier si l'entrée est composée uniquement de caractères chinois en golang Jun 24, 2023 am 09:16 AM

Avec l'évolution des temps, nous accordons de plus en plus d'attention à la vérification des données, en particulier à la vérification des entrées des utilisateurs. Pour la vérification de la langue, la manière de déterminer avec précision si l'entrée est uniquement composée de caractères chinois est devenue une question importante. En Golang, nous pouvons utiliser le package Unicode et le package regexp pour répondre à cette exigence. 1. Package Unicode Le package Unicode fournit une série de supports de base pour Unicode. Nous pouvons utiliser les fonctions de ce package pour déterminer avec précision si un caractère est un caractère chinois.

Comment trier les caractères chinois dans un environnement en langage C ? Comment trier les caractères chinois dans un environnement en langage C ? Feb 18, 2024 pm 02:10 PM

Comment implémenter la fonction de tri des caractères chinois dans un logiciel de programmation en langage C ? Dans la société moderne, la fonction de tri des caractères chinois est l’une des fonctions essentielles de nombreux logiciels. Que ce soit dans les logiciels de traitement de texte, les moteurs de recherche ou les systèmes de bases de données, les caractères chinois doivent être triés pour mieux afficher et traiter les données textuelles chinoises. En programmation en langage C, comment implémenter la fonction de tri des caractères chinois ? Une méthode est brièvement présentée ci-dessous. Tout d'abord, afin d'implémenter la fonction de tri des caractères chinois en langage C, nous devons utiliser la fonction de comparaison de chaînes. Couru

Comment gérer le problème de tri pinyin des caractères chinois en PHP ? Comment gérer le problème de tri pinyin des caractères chinois en PHP ? Sep 05, 2023 pm 05:00 PM

Comment gérer le problème de tri pinyin des caractères chinois en PHP ? Lors du développement de sites Web ou d’applications chinois, nous sommes souvent confrontés à la nécessité de trier les chaînes chinoises en fonction du pinyin. Cependant, en raison de la complexité des caractères chinois, l’utilisation directe d’algorithmes de tri conventionnels entraînera des erreurs dans les résultats de tri. Par conséquent, nous devons utiliser une méthode spéciale pour résoudre le problème du tri pinyin des caractères chinois. En PHP, une solution courante consiste à utiliser une bibliothèque pinyin telle que "Overtrue/Pinyin". Ceci est un pinyin basé sur PHP

Comment utiliser des expressions régulières pour faire correspondre les caractères chinois en PHP Comment utiliser des expressions régulières pour faire correspondre les caractères chinois en PHP Jun 22, 2023 am 09:16 AM

En PHP, l'expression régulière est un outil de correspondance de chaînes couramment utilisé. Elle peut être utilisée pour déterminer si une chaîne est conforme à un format spécifique, vérifiant ainsi la validité de la valeur d'entrée. Lors du traitement des caractères chinois, étant donné que les caractères chinois et les caractères anglais sont codés différemment, les règles de correspondance de l'expression régulière doivent être ajustées en conséquence. Cet article explique comment utiliser les expressions régulières pour faire correspondre les caractères chinois en PHP. 1. Comprendre le codage des caractères chinois. Les codages de caractères couramment utilisés en PHP sont UTF-8 et G.

Comment obtenir la première lettre des caractères chinois en PHP ? Comment obtenir la première lettre des caractères chinois en PHP ? Sep 06, 2023 am 11:18 AM

Comment obtenir la première lettre des caractères chinois en PHP ? Lors du traitement des caractères chinois, nous devons parfois obtenir la première lettre du caractère chinois. PHP fournit des fonctions intégrées et des packages d'extension pour réaliser cette fonctionnalité. Une méthode courante consiste à utiliser la fonction mb_substr() en combinaison avec la fonction ord(). La fonction mb_substr() est utilisée pour obtenir la sous-chaîne d'une chaîne, et la fonction ord() est utilisée pour obtenir la valeur du code ASCII d'un caractère. Nous pouvons obtenir la première lettre du caractère chinois en obtenant le premier caractère et sa valeur de code ASCII.

Comment utiliser PHP pour écrire un champ de recherche qui convertit automatiquement les caractères chinois en initiales Pinyin ? Comment utiliser PHP pour écrire un champ de recherche qui convertit automatiquement les caractères chinois en initiales Pinyin ? Sep 05, 2023 pm 06:21 PM

Comment utiliser PHP pour écrire un champ de recherche qui convertit automatiquement les caractères chinois en initiales pinyin ? Avec l'utilisation généralisée du chinois sur Internet, afin de faciliter la recherche d'informations par les utilisateurs, nous devons souvent fournir une fonction de recherche basée sur la première lettre du pinyin. Dans cet article, nous allons présenter comment écrire un champ de recherche en PHP capable de convertir les caractères chinois en premières lettres du Pinyin. Tout d’abord, nous devons préparer une bibliothèque pour convertir le chinois en pinyin. En PHP, nous pouvons utiliser la bibliothèque open source pinyin.php pour implémenter cette fonction. tu peux passer

Pratique des expressions régulières PHP : correspondance des caractères chinois Pratique des expressions régulières PHP : correspondance des caractères chinois Jun 22, 2023 pm 08:34 PM

Lors de l'utilisation de PHP pour développer des projets, nous rencontrons souvent le besoin de traiter des caractères chinois. Les expressions régulières sont un puissant outil de traitement de texte qui peut nous aider à faire correspondre et à traiter les caractères chinois rapidement et avec précision. Dans cet article, je présenterai des techniques et des exemples connexes sur la façon d'utiliser les expressions régulières PHP pour faire correspondre les caractères chinois. Correspondance des caractères chinois Tout d'abord, nous devons comprendre comment les caractères chinois sont représentés dans l'ordinateur. Normalement, les caractères chinois sont représentés à l'aide du codage Unicode. En Unicode

See all articles