84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
我想将输入的字符串用十六进制表示,首先声明,并不是转换成十六进制的字符串,而是像下面的反过程:
>>> '\x61\x62\x63\x64' 'abcd'
我尝试了python3中的encode('UTF-8')等方法,但是都没有找到怎样可以达到我的目的,Python中是否能够完成这个功能,如果可以,怎样才能达到我的目的,希望各位大神能够指教。
学习是最好的投资!
>>> '\x61\x62\x63\x64' == 'abcd' True
Il n'y a aucun moyen d'imprimer 'x61x62x63x64'. Si vous souhaitez simplement vérifier la valeur ascii correspondant à 'a', vous pouvez utiliser ord()
>>> ord('a') 97 >>> chr(97) 'a'
Je ne sais pas si cela peut répondre à vos exigences
>>> [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
Il existe plusieurs fonctions dans la bibliothèque binascii qui peuvent faire cela
import binascii print(binascii.b2a_hex(b'abcd')) # b'61626364'
Ou écrivez directement comme ça dans py3.5
print(b'abcd'.hex()) # 61626364
Il n'y a aucun moyen d'imprimer 'x61x62x63x64'. Si vous souhaitez simplement vérifier la valeur ascii correspondant à 'a', vous pouvez utiliser ord()
.Je ne sais pas si cela peut répondre à vos exigences
python3
Il existe plusieurs fonctions dans la bibliothèque binascii qui peuvent faire cela
Ou écrivez directement comme ça dans py3.5