python字符串用十六進(jìn)制表示
問題描述
我想將輸入的字符串用十六進(jìn)制表示,首先聲明,并不是轉(zhuǎn)換成十六進(jìn)制的字符串,而是像下面的反過程:
>>> ’x61x62x63x64’’abcd’
我嘗試了python3中的encode(’UTF-8’)等方法,但是都沒有找到怎樣可以達(dá)到我的目的,Python中是否能夠完成這個(gè)功能,如果可以,怎樣才能達(dá)到我的目的,希望各位大神能夠指教。
問題解答
回答1:>>> ’x61x62x63x64’ == ’abcd’True
是沒有辦法打印出來’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 庫里好幾個(gè)函數(shù)都可以做到
import binasciiprint(binascii.b2a_hex(b’abcd’))# b’61626364’
或者 py3.5 直接這樣寫
print(b’abcd’.hex())# 61626364
相關(guān)文章:
1. mysql優(yōu)化 - 關(guān)于mysql分區(qū)2. php laravel框架模型作用域3. vue.js - vue 打包后 nginx 服務(wù)端API請求跨域問題無法解決。4. node.js - 在vuejs-templates/webpack中dev-server.js里為什么要exports readyPromise?5. java - Atom中文問題6. 請教各位大佬,瀏覽器點(diǎn) 提交實(shí)例為什么沒有反應(yīng)7. objective-c - iOS開發(fā)支付寶和微信支付完成為什么跳轉(zhuǎn)到了之前開發(fā)的一個(gè)app?8. javascript - 為什么這個(gè)點(diǎn)擊事件需要點(diǎn)擊兩次才有效果9. html5 - 如何實(shí)現(xiàn)帶陰影的不規(guī)則容器?10. javascript - ionic2 input autofocus 電腦成功,iOS手機(jī)鍵盤不彈出
