Caractères chinois PHP en code décimal

WBOY
Libérer: 2023-05-07 11:28:07
original
1288 Les gens l'ont consulté

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 binaires​​qui 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

  1. Utiliser la fonction PHP ord()

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);
?>
Copier après la connexion

Résultat de l'exécution :

20013
Copier après la connexion
Copier après la connexion
Copier après la connexion

Remarque : Cette méthode n'est applicable que lorsque les caractères chinois ont des valeurs correspondantes dans l'ASCLL table de codes.

  1. Utiliser la bibliothèque d'extension PHP mbstring

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); 
?>
Copier après la connexion

Résultat d'exécution :

20013
Copier après la connexion
Copier après la connexion
Copier après la connexion
  1. Fonction personnalisée
#🎜🎜 # Utilisez une fonction personnalisée pour convertir les caractères chinois en fonction du codage Unicode de chaque caractère chinois, et enfin fusionnez tous les codages Unicode en une sortie entière.

Exemple de code :

<?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); 
?>
Copier après la connexion
Résultat de l'exécution :

20013
Copier après la connexion
Copier après la connexion
Copier après la connexion
3. Résumé

Cet article présente trois types de chinois. caractères La méthode de conversion en code décimal utilise la fonction PHP ord(), la bibliothèque d'extension PHP mbstring et une fonction personnalisée. Dans les applications pratiques, vous pouvez choisir une méthode qui vous convient en fonction de la situation spécifique. L'opération de conversion des caractères chinois en codes décimaux peut facilement effectuer certains calculs numériques, stockage de données et autres opérations.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal