Dans le développement web, les caractères chinois sont souvent utilisés comme balises, titres, texte, etc. Cependant, dans certains scénarios d'application, il est nécessaire de convertir les caractères chinois en codes décimaux pour les calculs numériques, le stockage de données et d'autres opérations. Cet article explique comment utiliser le langage PHP pour convertir les caractères chinois en codes décimaux.
1. Le concept de codage des caractères chinois
Le codage des caractères chinois fait référence au processus de mappage des caractères chinois à des valeurs binairesqui peuvent être reconnues par les ordinateurs. Un caractère chinois peut être représenté par plusieurs méthodes de codage. Les méthodes de codage les plus courantes sont Unicode, GBK, GB2312, etc. Ces méthodes de codage mappent les caractères chinois en valeurs hexadécimales.
Par exemple, la valeur hexadécimale du mot "中" en codage Unicode est "4E2D", et la valeur hexadécimale en codage GBK est "D6D0".
2. Méthode de conversion des caractères chinois en codes décimaux
Fonction PHP ord() peut renvoyer la valeur du code ASCLL d'un certain caractère. Étant donné que la valeur du code ASCLL est un entier compris entre 0 et 255, les caractères chinois peuvent être convertis en valeurs de code ASCLL, puis les valeurs de code ASCLL peuvent être converties au format décimal pour la sortie.
Exemple de code :
<?php $str = '中'; echo ord($str); ?>
Résultat de l'exécution :
20013
Remarque : Cette méthode n'est applicable que lorsque les caractères chinois ont des valeurs correspondantes dans l'ASCLL table de codes.
La bibliothèque d'extension PHP mbstring fournit une fonction mb_convert_encoding(), qui peut convertir entre différentes méthodes d'encodage Convert. En convertissant les caractères chinois en codage UTF-8, puis en utilisant la fonction unpack() pour convertir la chaîne codée UTF-8 en code ASCII, et enfin en utilisant la fonction implode() pour concaténer la chaîne en un entier.
Exemple de code :
<?php function chinese_encode($str){ $utf8_str = mb_convert_encoding($str, 'UTF-8', 'auto'); $ascii_str = unpack('C*', $utf8_str); return implode('', $ascii_str); } $str = '中'; echo chinese_encode($str); ?>
Résultat d'exécution :
20013
<?php function chinese_encode($str){ $code = ''; for($i=0; $i<mb_strlen($str, 'UTF-8'); $i++){ $code .= dechex(ord(mb_substr($str, $i, 1, 'UTF-8'))); } return hexdec($code); } $str = '中'; echo chinese_encode($str); ?>
20013
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!