在Python中将十六进制字节字符串转换为unicode

时间:2017-03-13 13:13:11

标签: python-3.x encryption byte

我从一个文本文件中读取一个字符串,该文件在“rb”模式下包含许多特殊字符并将其存储在变量中。但是当我将它插入tkinter的文本框中时,某些字符会丢失。

inp = tut.encrypt_text(tut.getKey(password.get()),text.get("1.0", END))

代码将字符串传递给加密函数以加密文本,然后以十六进制字节字符串形式获取加密文本。

outfile.write(encryptor.encrypt(chunk))

此代码用于将加密文本写入文件,然后从文件中读取该文件并返回上面的调用。

with open(outputFile, 'rb') as out:
    output =out.read()
return output

文件中的加密文本为:

0000000000000011P”=êäS£¾1:–ø{pâRÆA<,ã É˜“Uê

这里缺少一些角色。当我在“rb”模式下读取并存储在变量输出中并返回到调用时,变量具有值

b'0000000000000011P\x94=\xea\xe4S\x0f\xa3\xbe1\x18:\x96\xf8{p\xe2R\xc6A<,\xe3\xa0\xc9\x8d\x98\x93\x04\x08U\xea'

但是当我使用代码

将其插入文本框时
text.delete('1.0', END)
text.insert(END, inp)

文本框中正在打印的文字是

0000000000000011P=êäS£¾1:ø{pâRÆA<,ã ÉUê.

此文本与文件中的文本不同。如何获取文本框中文本文件中的相同字符串?

0 个答案:

没有答案