python字符串用十六進(jìn)制表示
問(wèn)題描述
我想將輸入的字符串用十六進(jìn)制表示,首先聲明,并不是轉(zhuǎn)換成十六進(jìn)制的字符串,而是像下面的反過(guò)程:
>>> ’x61x62x63x64’’abcd’
我嘗試了python3中的encode(’UTF-8’)等方法,但是都沒(méi)有找到怎樣可以達(dá)到我的目的,Python中是否能夠完成這個(gè)功能,如果可以,怎樣才能達(dá)到我的目的,希望各位大神能夠指教。
問(wèn)題解答
回答1:>>> ’x61x62x63x64’ == ’abcd’True
是沒(méi)有辦法打印出來(lái)’x61x62x63x64’的,如果只是想查看’a’對(duì)應(yīng)的ascii數(shù)值,可以用ord()
>>> ord(’a’)97>>> chr(97)’a’
不知道這樣可不可以滿足你的要求
>>> [hex(ord(x)) for x in ’abcd’][’0x61’, ’0x62’, ’0x63’, ’0x64’]回答2:
python3
>>> print(’’.join((r’x%2x’%ord(c)for c in ’abcd’)))x61x62x63x64>>> print(’’.join((r’x%2x’%c for c in bytes(’abcd’,’l1’))))x61x62x63x64>>> print(’’.join((r’x%2x’%c for c in b’abcd’)))x61x62x63x64回答3:
binascii 庫(kù)里好幾個(gè)函數(shù)都可以做到
import binasciiprint(binascii.b2a_hex(b’abcd’))# b’61626364’
或者 py3.5 直接這樣寫(xiě)
print(b’abcd’.hex())# 61626364
相關(guān)文章:
1. python 利用subprocess庫(kù)調(diào)用mplayer時(shí)發(fā)生錯(cuò)誤2. datetime - Python如何獲取當(dāng)前時(shí)間3. html - eclipse 標(biāo)簽錯(cuò)誤4. python文檔怎么查看?5. javascript - 關(guān)于apply()與call()的問(wèn)題6. javascript - nginx反向代理靜態(tài)資源403錯(cuò)誤?7. 請(qǐng)問(wèn)PHPstudy中的數(shù)據(jù)庫(kù)如何創(chuàng)建索引8. python - pycharm 自動(dòng)刪除行尾空格9. 安全性測(cè)試 - nodejs中如何防m(xù)ySQL注入10. python - Pycharm的Debug用不了
