我們?cè)?strong>Python中會(huì)遇到很多轉(zhuǎn)換的問題,例如需要字符串,而輸入內(nèi)容為二進(jìn)制。碼的是字符串,卻要是字符串。字符串與二進(jìn)制如何相互轉(zhuǎn)換呢?本文向大家介紹Python中字符串與二進(jìn)制相互轉(zhuǎn)換的兩種方法,一個(gè)是簡單版本,另一個(gè)是依靠bitarray對(duì)象,也是可以輕松轉(zhuǎn)化。內(nèi)容如下:
簡單版本
defencode(s):
return''.join([bin(ord(c)).replace('0b','')forcins])
defdecode(s):
return''.join([chr(i)foriin[int(b,2)forbins.split('')]])
>>>encode('hello')
'11010001100101110110011011001101111'
>>>decode('11010001100101110110011011001101111')
'hello'
bitarray法
將二進(jìn)制串轉(zhuǎn)化為bitarray對(duì)象,bitarray對(duì)象可以輕松轉(zhuǎn)化為bytes
frombitarrayimportbitarray
defstr2bitarray(s):
ret=bitarray(''.join([bin(int('1'+hex(c)[2:],16))[3:]forcins.encode('utf-8')]))
returnret
defbitarray2str(bit):
returnbit.tobytes().decode('utf-8')
以上內(nèi)容為大家介紹了Python中字符串與二進(jìn)制如何相互轉(zhuǎn)換?希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。