file = open('unicode.txt', 'wb')
for i in range(10):
file.write(str(unichr(i)))
Ce que je voudrais faire est d'imprimer toutes les valeurs Unicode dans un fichier textePython: impression Unicode vers un fichier
file = open('unicode.txt', 'wb')
for i in range(10):
file.write(str(unichr(i)))
Ce que je voudrais faire est d'imprimer toutes les valeurs Unicode dans un fichier textePython: impression Unicode vers un fichier
Vous ne devriez pas avoir l'appel str()
autour unichr(i)
. Les objets Python unicode
sont imprimables.
Ce:
file = open('unicode.txt', 'wb')
for i in range(10):
file.write(unichr(i))
semble fonctionner pour moi, il imprime 0x0000, 0x0001, 0x0002, etc. dans le fichier texte.
-1 'str()' est à la fois inutile et indésirable. L'utiliser garantira l'échec de i> = 256. "Les objets Unicode Python sont imprimables" - parfois, selon les objets, quelle plate-forme, la construction Python étroite/large-unicode, les encodages par défaut, les polices disponibles, Python 2.x ou 3 .x, phase de lune, etc Sur mon set-up votre code produit un fichier 10-BYTE contenant '' \ x00 \ x01 \ x02 \ x03 \ x04 \ x05 \ x06 \ x07 \ x08 \ t'' ... Si i == 128, le résultat pour moi est 'UnicodeEncodeError: 'le codec ascii' ne peut pas encoder le caractère '\ x80' en position 0: ordinal pas dans la plage (128)' –
somefile = codecs.open('unicode.txt', 'wb', someencoding)
for i in range(10):
somefile.write(unichr(i))
Quelle est la question ici? – Wilduck
Avez-vous oublié le 'b' sur 'wb'? Est-ce la question? Si tel est le cas, veuillez réviser le code de format (1) correctement et (2) poser une question réelle afin que nous sachions quel problème vous avez réellement. –
"Valeurs Unicode"? Voulez-vous dire "caractères" ou "octets"? Un caractère Unicode nécessite un ou plusieurs octets en fonction du codage. Que voulez-vous faire avec ce fichier? –