【发布时间】:2011-07-20 20:40:06
【问题描述】:
我有以下代码:
code1 = ("\xd9\xf6\xd9\x74\x24\xf4\x5f\x29\xc9\xbd\x69\xd1\xbb\x18\xb1")
print code1
code2 = open("code.txt", 'rb').read()
print code2
code1 输出:
�צ�t$פ_)�½i�»±
code2 输出:
"\xd9\xf6\xd9\x74\x24\xf4\x5f\x29\xc9\xbd\x69\xd1\xbb\x18\xb1"
我需要 code2(我从文件中读取)具有与 code1 相同的输出。
我该如何解决这个问题?
【问题讨论】:
-
code.txt 中有什么?像这样的字符串:
"\xd9\xf6\xd9\x74\x24\xf4\x5f\x29\xc9\xbd\x69\xd1\xbb\x18\xb1"还是这个字符串表示的字节? -
我的文本文件中有“\xd9\xf6\xd9\x74\x24\xf4\x5f\x29\xc9\xbd\x69\xd1\xbb\x18\xb1”。当我把它放在一个变量中并打印它时,它以二进制数据的形式出现,这是我需要的,但是当我从文件中读取它并将它打印为字符串时
-
sys.getdefaultencoding()的输出是什么? -
@Shai - 所以你的解决方案在下面的答案中:)
-
好的,我刚刚意识到,引号是输出的一部分,所以你只需要把它们去掉。