繁体   English   中英

Python 打印十六进制变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM