84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
我想将输入的字符串用十六进制表示,首先声明,并不是转换成十六进制的字符串,而是像下面的反过程:
>>> '\x61\x62\x63\x64' 'abcd'
我尝试了python3中的encode('UTF-8')等方法,但是都没有找到怎样可以达到我的目的,Python中是否能够完成这个功能,如果可以,怎样才能达到我的目的,希望各位大神能够指教。
学习是最好的投资!
>>> '\x61\x62\x63\x64' == 'abcd' True
是没有办法打印出来'x61x62x63x64'的,如果只是想查看'a'对应的ascii数值,可以用ord()
>>> ord('a') 97 >>> chr(97) 'a'
不知道这样可不可以满足你的要求
>>> [hex(ord(x)) for x in 'abcd'] ['0x61', '0x62', '0x63', '0x64']
python3
>>> print(''.join((r'\x%2x'%ord(c)for c in 'abcd'))) \x61\x62\x63\x64 >>> print(''.join((r'\x%2x'%c for c in bytes('abcd','l1')))) \x61\x62\x63\x64 >>> print(''.join((r'\x%2x'%c for c in b'abcd'))) \x61\x62\x63\x64
binascii 库里好几个函数都可以做到
import binascii print(binascii.b2a_hex(b'abcd')) # b'61626364'
或者 py3.5 直接这样写
print(b'abcd'.hex()) # 61626364
是没有办法打印出来'x61x62x63x64'的,如果只是想查看'a'对应的ascii数值,可以用ord()
不知道这样可不可以满足你的要求
python3
binascii 库里好几个函数都可以做到
或者 py3.5 直接这样写