我使用python3.5
,我希望写输出我在十六进制字节得到(b'\x00'
,b'\x01'
等),以Python字符串与\x00 -> 0
和\x01 -> 1
,我也有这种感觉,可以很容易地,并在完成非常pythonic的方式,但半小时的谷歌搜索仍然让我觉得最简单的就是用手绘制一本字典(我实际上只需要它从0到7)。蟒蛇十六进制二进制转换为字符串
Input Intended output
b'\x00' 0 or '0'
b'\x01' 1 or '1'
等
我使用python3.5
,我希望写输出我在十六进制字节得到(b'\x00'
,b'\x01'
等),以Python字符串与\x00 -> 0
和\x01 -> 1
,我也有这种感觉,可以很容易地,并在完成非常pythonic的方式,但半小时的谷歌搜索仍然让我觉得最简单的就是用手绘制一本字典(我实际上只需要它从0到7)。蟒蛇十六进制二进制转换为字符串
Input Intended output
b'\x00' 0 or '0'
b'\x01' 1 or '1'
等
如果wiil需要b"\x0F"
转换成F
然后使用
print(hex(ord(b'\x0F'))[2:])
或与format()
print(format(ord(b'\x0F'), 'X')) # '02X' gives string '0F'
print('{:X}'.format(ord(b'\x0F'))) # '{:02X}' gives string '0F'
一个字节字符串自动是一个数字列表。
input_bytes = b"\x00\x01"
output_numbers = list(input_bytes)
你只是想找这样的事情吗?
for x in range(0,8):
(x).to_bytes(1, byteorder='big')
输出是:
b'\x00'
b'\x01'
b'\x02'
b'\x03'
b'\x04'
b'\x05'
b'\x06'
b'\x07'
或者相反:
byteslist = [b'\x00',
b'\x01',
b'\x02',
b'\x03',
b'\x04',
b'\x05',
b'\x06',
b'\x07']
for x in byteslist:
int.from_bytes(x,byteorder='big')
输出:
0
1
2
3
4
5
6
7
什么是你的输入,什么是想要的输出? – Daniel
'b'表示'字节',而不是二进制。 '\ x00'不是字符串'0',但是代码为'0'的字符不能显示,所以Python会显示它的代码。 – furas
你用'b“\ x0F”' - '“F”'或'“15”'指望的结果是什么? – furas