84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
我想将输入的字符串用十六进制表示,首先声明,并不是转换成十六进制的字符串,而是像下面的反过程:
>>> '\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 直接这样写