python 字串與16進製制互轉

2021-08-16 01:51:31 字數 1621 閱讀 2663

1 bytetohex的轉換

def bytetohex(

bins

): return

''.join( [ "%02x" % x for x in bins ] ).strip()

返回資料16進製制字串 '91f8148cfbd5faa3d98b'

2.bytes型別轉為16進製制bytes型別

import binascii

sign 為bytes型別字串 如 b'\x91\xf8\x14\x8c\xfb\xd5|'

print(type(sign)) >>

ret = binascii.b2a_hex(sign) ret為16進製制bytes

print(ret) 》 如 b'91f8148cfbd5faa3d98b'

3 hextobyte的轉換

def hextobyte(

hexstr

): return

bytes.fromhex(hexstr)

>>> binascii.b2a_hex(u"你好啊".encode("utf8"))

'e4bda0e5a5bde5958a'

>>>

>>> binascii.b2a_hex(u"你好啊".encode("gbk"))

'c4e3bac3b0a1'

>>> binascii.a2b_hex("e4bda0e5a5bde5958a")

'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x95\x8a'

>>> binascii.a2b_hex("e4bda0e5a5bde5958a").decode("utf8")

u'\u4f60\u597d\u554a'

>>> print binascii.a2b_hex("e4bda0e5a5bde5958a").decode("utf8")

你好啊

>>> binascii.b2a_hex(u"你好啊121a號".encode("gbk"))

'c4e3bac3b0a131323141bac5'

>>> '48656c6c6f'.decode('hex')

'hello'

>>> 'c4e3bac3b0a131323141bac5'.decode('hex')

'\xc4\xe3\xba\xc3\xb0\xa1121a\xba\xc5'

>>> print 'c4e3bac3b0a131323141bac5'.decode('hex')

你好啊121a號

>>> u"你好啊121a號".encode("gbk").encode('hex')

'c4e3bac3b0a131323141bac5'

>>>

16進製制轉字串 字串轉16進製制

16進製制轉字串 void hextostr char pbdest,char pbsrc,int nlen pbdest nlen 2 0 字串轉16進製制 void strtohex char pbdest,char pbsrc,int nlen 一 將陣列轉換為十六進製製同值的字串 讀取陣列中...

16進製制與字串轉換

字串為 string 型別並可寫成兩種形式,即用引號引起來和用 引起來。用引號引起來的字串括在雙引號 內 good morning a string literal 並且可以包含包括換碼序列在內的任何字元 string a u0066 n backslash,letter f,new line 注意...

字串16進製制儲存

上次介紹了一種字串轉化為16進製制顯示的演算法,並封裝成了api,這個api可用於串列埠收到資料後按16進製制顯示字串,這次介紹串列埠按16進製制傳送字串的演算法,使用基於字元型別引數的模板函式實現。演算法原理是遍歷字串,將在區間 0 9 a f a f 的字元轉化成對應的16進製制整數 範圍為閉區...