iT邦幫忙

0

byte轉換string (python)

各位好
現在有一串byte data:
b'\xc4\xb8\xf6\xd1\x17\xff\x86\x85\x1f\x13\xe\x85\x85\x85\xcb\xb0'

想轉換成如下字串:
c4b8f6d117ff8685....

是否有辦法?

20191015 Edit:
剛試著把該byte data轉為字串, 就可以把\x取代掉:

str(bytedata)

但有個問題, byte data如果介於十進制32~126, 它就會顯示為字元, 例如:
b'\xc4\xb8\xf6\xd1\x17\xff\x86\x85\x1f\x13\xe\x85\x85\x41\x42\x43'
會變成
b'\xc4\xb8\xf6\xd1\x17\xff\x86\x85\x1f\x13\xe\x85\x85ABC'

不曉得有無較好的方法?

20191015 Edit2:
已解決!
先轉為hex再取字串即可:0x12 -> 12

hex(data[i])[2:3]
hex(data[i])[3:4]
看更多先前的討論...收起先前的討論...
不能將\x取代掉嗎?
阿薩姆 iT邦新手 5 級 ‧ 2019-10-15 18:21:27 檢舉
可是它是byte data 可以做到嗎?
阿薩姆 iT邦新手 5 級 ‧ 2019-10-15 18:30:39 檢舉
已更新問題
阿薩姆 iT邦新手 5 級 ‧ 2019-10-15 19:01:32 檢舉
已解決!

尚未有邦友回答

立即登入回答