Python读取二进制文件,将二进制数据转换为字符串?
我正在努力学习Python,目前正在网上做一些练习。其中之一涉及读取zip文件 当我这样做时:Python读取二进制文件,将二进制数据转换为字符串?,python,string,binary,Python,String,Binary,我正在努力学习Python,目前正在网上做一些练习。其中之一涉及读取zip文件 当我这样做时: import zipfile zp=zipfile.ZipFile('MyZip.zip') print(zp.read('MyText.txt')) 它打印: b'Hello World' 我只想要一个带Hello World的字符串。我知道这很愚蠢,但我能想到的唯一办法是: import re re.match("b'(.*)'",zp.read('MyText.txt')) 我该怎么做?您
import zipfile
zp=zipfile.ZipFile('MyZip.zip')
print(zp.read('MyText.txt'))
它打印:
b'Hello World'
我只想要一个带Hello World的字符串。我知道这很愚蠢,但我能想到的唯一办法是:
import re
re.match("b'(.*)'",zp.read('MyText.txt'))
我该怎么做?您需要将字符串中的原始字节解码为实际字符。尝试运行。根据从zp返回的值解码“utf-8”。在打印之前请先阅读。您需要先执行以下操作 只有字节:
print(zp.read('MyText.txt').decode('UTF-8'))
@John,这就是b'Hello World'我很惊讶,它没有被标记为可能的副本并在几秒钟内关闭。考虑到我有时觉得Python变得太复杂了,而且这些年来,在做同样的事情时出现了太多相互冲突的方式,我非常高兴,我们三人在文本上独立地对这个问题给出了完全相同的答案谢谢看起来你们三个人的答案差不多相等,但你先得到了答案。
print(zp.read('MyText.txt').decode('UTF-8'))