caractères Unicode en octets est quelque chose comme 110xxxxx 10xxxxxx. Comment puis-je transformer ces octets en notation hexadécimale comme U + XXXX?caractères Unicode en octets en hexadécimal
Répondre
Tout d'abord, voici le document that definitively defines UTF-8 encoding.
Les deux octets dans votre exemple: 110xxxxx 10xxxxxx encodent une de caractères Unicode. Son code binaire est - bien, il suffit de prendre ces x (bits) et de les assembler. Vous obtiendrez un nombre binaire, mais vous pouvez le convertir en décimal ou en hexadécimal si vous le souhaitez. C'est le même nombre que XXXX dans U + XXXX.
Comment ai-je savoir que 110xxxxx 10xxxxxx encode un personnage? Il peut y avoir trois types d'octets dans un flux UTF-8:
- 10xxxxxx - octets de fin
- 0xxxxxxx - caractères ASCII
- 110xxxxx, 1110xxxx, etc. - principaux octets dans la séquence.
Des séquences d'octets de début et de fin sont utilisées pour coder les points Unicode de 128 et plus. 110xxxxx signifie qu'il commence une séquence de deux octets, 1110xxxx démarre une séquence de trois octets, etc. De cette façon, vous pouvez isoler les séquences les unes des autres. Ensuite, prenez x de tous les octets de la séquence et c'est votre point de code Unicode.
Vous pouvez tirer parti iconv
du décodeur UTF-8 pour éviter d'avoir à écrire vous-même:
function utf8_to_codepoints($s) {
return unpack('V*', iconv('UTF-8', 'UCS-4LE', $s));
}
$data= "Caf\xc3\xa9 \xe6\x97\xa5\xe6\x9c\xac \xf0\x9d\x84\x9e"; // Café 日本
var_export(utf8_to_codepoints($data));
donne:
array (
1 => 67,
2 => 97,
3 => 102,
4 => 233,
5 => 32,
6 => 26085,
7 => 26412,
8 => 32,
9 => 119070,
)
qui peut être converti en format U + nnnn en utilisant dechex
.
- 1. Littéraux de caractères Unicode (hexadécimal) dans MySQL
- 2. Convertir un codepoint unicode en hexadécimal UTF8 en python
- 3. obtenir octets de chaîne unicode en python
- 4. Conversion de bits de chaîne en octets ou hexadécimal
- 5. Comment imprimer des octets en hexadécimal avec System.out.println?
- 6. Comment convertir des caractères ASCII spéciaux en hexadécimal en Perl
- 7. hexadécimal en entier
- 8. caractères Unicode Non Affichage
- 9. Convertir Unicode entier en caractères Unicode dans SQL Server 2005
- 10. Conversion de caractères chinois en Unicode
- 11. compter les caractères Unicode en C++
- 12. comment décoder les caractères unicode en php
- 13. Nouveaux caractères Unicode en C++ 0x
- 14. Conversion de caractères grecs en Unicode
- 15. Comment convertir UTF8 en Unicode
- 16. Ruby: Comment casser une chaîne potentiellement unicode en octets
- 17. de conversion de hexadécimal en hexadécimal réelle
- 18. Conversion du format hexadécimal en chaînes
- 19. Comment écrire un entier de deux octets en hexadécimal dans un fichier binaire en utilisant C
- 20. Conversion de ANSI en Unicode
- 21. Bit Inverser en hexadécimal
- 22. Caractères Unicode de JSON.stringify à de vrais caractères Unicode
- 23. Comment convertir un double en hexadécimal?
- 24. Caractères minuscules Unicode?
- 25. Obtenir la longueur en octets d'une chaîne
- 26. caractères Unicode dans XeLaTeX
- 27. unicode en php
- 28. jQuery - Comment convertir une chaîne de caractères en octets?
- 29. Conversion de caractères multi-octets en UTF-8
- 30. Les données SQLServer en PHP perdent les caractères multi-octets