我是 python 新手,尝试编写一个脚本,将字节 0x00-0xff 输出到文件。
这是我目前正在查看的代码
import sys
filename="binarywriter.txt"
openmode="wb"
charset="utf8"
file=open(filename, openmode)
for x in range(16,256):
s="0x%.2x=\\x" %x
s+=hex(x)[2:]
d=bytes(s, charset).decode("unicode_escape")
file.write(d.encode(charset))
file.write("\r\n".encode(charset))
file.close()
sys.stdin.readline()
问题是python脚本在这个(0x80)之后的字节0x7f(即ascii)之前写得很好,它将所有输出转换为具有2个字节的utf8编码。问题是要避免这种情况,只写这样的东西:
...
0x7f
0x80
0x81
...
所以我需要像 8bit 编码这样的东西,但是经过一小时的搜索,我没有任何结果
还有一个小问题,数字 <16 返回一个无法解码的十六进制值,但我可能会找到解决方案