Maison >développement back-end >tutoriel php >Comment extraire les points de code UCS-2 des chaînes UTF-8 ?

Comment extraire les points de code UCS-2 des chaînes UTF-8 ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-01 17:45:30639parcourir

How to Extract UCS-2 Code Points from UTF-8 Strings?

Détermination des points de code UCS-2 pour les caractères UTF-8

Dans divers scénarios de programmation, il peut être nécessaire d'extraire l'UCS-2 points de code associés aux caractères dans une chaîne UTF-8. Pour répondre à cette exigence, il est prudent d'exploiter les utilitaires intégrés ou de se plonger dans les complexités du format d'encodage UTF-8.

UTF-8 encode les caractères à l'aide d'une séquence d'octets de longueur variable. Chaque point de code est représenté par 1 à 4 octets, selon sa valeur. Les plages suivantes s'appliquent :

  • U 0000 — U 007F : 1 octet (0xxxxxxx)
  • U 0080 — U 07FF : 2 octets (110xxxxx 10xxxxxx)
  • U 0800 — U FFFF : 3 octets (1110xxxx 10xxxxxx 10xxxxxx)
  • U 10000 — U 10FFFF : 4 octets (11110xxx 10xxxxxx 10xxxxxx 10xxxxxx)

Pour déterminer le nombre d'octets dans un code point, examinez le premier octet :

  • 0x00 : 1 octet
  • 0xC0 : 2 octets
  • 0xE0 : 3 octets
  • 0xF0 : 4 octets
  • 0x10 : Octet de continuation
  • 0x11111 : Caractère invalide

Une fois le nombre d'octets connu, le point de code peut être extrait par manipulation de bits. Notez que UCS-2 a une portée limitée et ne peut pas représenter des caractères supérieurs à U FFFF.

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!

Déclaration:
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