[英]Python Print Hex variable
我有要打印为十六进制的十六进制变量
data = '\x99\x02'
print (data)
结果是: ™
我要 python 打印0x9902
谢谢您的帮助
请检查这个。
data = r'\x99\x02'
a, b = [ x for x in data.split(r'\x') if x]
d = int(a+b, base=16)
print('%#x'%d)
您必须将每个字符转换为其数字 - ord(char)
- 并将每个数字转换为十六进制值 - '{:02x}'.format()
- 并将这些值连接到字符串。 并添加字符串'0x'
。
data = '\x99\x02'
print('0x' + ''.join('{:02x}'.format(ord(char)) for char in data))
编辑:使用encode('raw_unicode_escape')
将相同但第一个string
转换为bytes
data = '\x99\x02'
print('0x' + ''.join('{:02x}'.format(code) for code in data.encode('raw_unicode_escape')))
如果你已经有字节,那么你不必编码()
data = b'\x99\x02'
print('0x' + ''.join('{:02x}'.format(code) for code in data))
顺便说一句:类似的方式,您可以使用{:08b}
转换为二进制
data = '\x99\x02'
print(''.join('{:08b}'.format(code) for code in data.encode('raw_unicode_escape')))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.