Obtention de points de code UCS-2 pour les chaînes UTF-8 en PHP 4 ou 5
Pour obtenir des points de code UCS-2 pour un UTF -8 chaîne, vous pouvez exploiter les utilitaires existants disponibles en PHP. Pensez à utiliser des bibliothèques comme iconv pour faciliter cette conversion.
Si vous préférez une solution personnalisée, il est crucial de comprendre le format UTF-8. Chaque point de code est stocké sur 1 à 4 octets, en fonction de sa valeur. Les plages suivantes s'appliquent :
Pour déterminer le nombre d'octets dans un caractère, examinez le premier octet. Un préfixe 0 indique un caractère de 1 octet, 110 indique 2 octets, 1110 un caractère de 3 octets et 11110 un caractère de 4 octets.
Une fois que vous connaissez la taille du caractère, vous pouvez effectuer des opérations au niveau du bit pour convertir il. Notez que UCS-2 ne peut pas représenter les caractères au-dessus de U FFFF.
Pour référence, voici une fonction PHP 4 ou 5 que vous pouvez utiliser :
<code class="php">function get_ucs2_codepoint($char) { $byte = ord($char); if ($byte < 128) { return $byte; } elseif ($byte < 224) { return (($byte & 63) << 6) | (ord($char[1]) & 63); } elseif ($byte < 240) { return (($byte & 31) << 12) | ((ord($char[1]) & 63) << 6) | (ord($char[2]) & 63); } else { return 0; // UCS-2 cannot handle code points this high } }</code>
N'oubliez pas que cette fonction ne gère pas tous les caractères Unicode, uniquement ceux représentables avec UCS-2. Si vous devez gérer Unicode complet, vous devez utiliser des bibliothèques alternatives ou des fonctions PHP 6.
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!