2024-09-27 07:28:11 发布
网友
我希望能够打开一个二进制文件,并使用中的所有字符创建一个列表(数组类型),例如:“\x21\x23\x22\x21\x22\x31”到[“\x21”、“\x23”、“\x22”、“\x21”、“\x22”、“\x31”] 什么是转换它的最佳解决方案?
谢谢!
您可以将二进制数据读入字符串,就像处理文本数据一样,只需确保以二进制模式打开文件(调用open()时的b标志):
open()
b
with open('file.bin', 'rb') as f: data = f.read()
data现在将文件中的字符作为字符串包含,如"\x21\x23\x22\x21\x22\x31"。
data
"\x21\x23\x22\x21\x22\x31"
你需要理解“\x21”和“!”是两种表示同一事物的方法
所以"\x21\x23\x22\x21\x22\x31"和'!#"!"1'是一样的
'!#"!"1'
>>> "\x21\x23\x22\x21\x22\x31" == '!#"!"1' True >>> infile = open('infile.txt', 'rb') >>> list(infile.read()) ['!', '#', '"', '!', '"', '1'] >>> ['!', '#', '"', '!', '"', '1'] == ["\x21","\x23","\x22","\x21","\x22","\x31"] True
所以您可以看到它们是相同的,但是python总是试图选择最友好的方式来显示字符
假设myfile.txt中有'abcdef\n'。。。
myfile.txt
>>> fh = open('myfile.txt', 'rb') >>> list(fh.read()) ['a', 'b', 'c', 'd', 'e', 'f', '\n']
您可以将二进制数据读入字符串,就像处理文本数据一样,只需确保以二进制模式打开文件(调用
open()
时的b
标志):data
现在将文件中的字符作为字符串包含,如"\x21\x23\x22\x21\x22\x31"
。你需要理解“\x21”和“!”是两种表示同一事物的方法
所以
"\x21\x23\x22\x21\x22\x31"
和'!#"!"1'
是一样的所以您可以看到它们是相同的,但是python总是试图选择最友好的方式来显示字符
假设
myfile.txt
中有'abcdef\n'。。。相关问题 更多 >
编程相关推荐