我們在Python中會遇到很多轉換的問題,例如需要字符串,而輸入內容為二進制。碼的是字符串,卻要是字符串。字符串與二進制如何相互轉換呢?本文向大家介紹Python中字符串與二進制相互轉換的兩種方法,一個是簡單版本,另一個是依靠bitarray對象,也是可以輕松轉化。內容如下:
簡單版本
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法
將二進制串轉化為bitarray對象,bitarray對象可以輕松轉化為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')
以上內容為大家介紹了Python中字符串與二進制如何相互轉換?希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。