2013-02-01 3 views
0

Il est dit que pefile python module v1.2.8 est capable de gérer les caractères Unicode. J'ai 1.2.10 installé, mais encore, j'ai rencontré des exceptions lors du passage fichiers avec Japanesse nom (s) de fichier (s). Comment vais-je passer les fichiers PE avec le nom de fichier ayant UnicodeCharacters? Codepefle: comment gérer le nom de fichier unicode

# -*- coding: utf8 -*- 
import pefile 
pe = pefile.PE(str("c:/temp/じゃyそn.exe").decode('utf-8')) 

Snippet ci-dessus donne cette exception:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 37-194: ordinal 
not in range(128) 

Comment dois-je gérer cela? Merci d'avance!

Répondre

0

str() n'est pas unicode().

Essayez d'utiliser un bytestring unicode (notez le 'u' avant le ».

pe = pefile.PE(u"c:/temp/じゃyそn.exe")) 

Et alors lisez ceci:

http://www.joelonsoftware.com/articles/Unicode.html

+0

Merci beaucoup !!! – jaysonpryde

+1

A noter que Py3k par défaut les objets de chaîne à Unicode, donc si vous travaillez avec elle à l'avenir, vous ne devrez pas vous inquiéter à ce sujet. –

Questions connexes