Convertir un codepoint unicode en hex UTF8 en python
Je veux convertir un certain nombre de unicode codepoints lire à partir d'un fichier à leur encodage UTF8.
e.g je veux convertir la chaîne 'FD9B'
de la chaîne 'EFB69B'
.
Je peux le faire manuellement en utilisant les littéraux de chaîne comme ceci:
u'\uFD9B'.encode('utf-8')
mais je ne peux pas travailler sur la façon de le faire par programmation.
source d'informationauteur Richard
Vous devez vous connecter pour publier un commentaire.
Utiliser la fonction intégrée
unichr()
pour convertir le nombre de caractères, puis l'encoder:C'est la chaîne elle-même. Si vous voulez la chaîne de caractères ASCII hex, vous auriez besoin de marcher à travers et de convertir chaque caractère
c
de l'hexagone, à l'aide dehex(ord(c))
ou similaire.voici une solution complète:
Si la chaîne d'entrée, la longueur est un multiple de 4 (c'est à dire vos points de code unicode sont UCS-2 codés), puis essayez ceci:
Parce que vous risquez de rencontrer une erreur lors de l'utilisation
unichr
avec de larges caractères unicode:Voici une autre approche à l'échelle de l'unicode sur d'étroites python: les versions de
Et à l'aide de la question d'origine: