首頁 > 後端開發 > Python教學 > 如何在 Python 中高效地在二進位和 ASCII 字串之間進行轉換?

如何在 Python 中高效地在二進位和 ASCII 字串之間進行轉換?

Mary-Kate Olsen
發布: 2024-11-26 06:06:09
原創
682 人瀏覽過

How Can I Efficiently Convert Between Binary and ASCII Strings in Python?

將二進位轉換為ASCII,反之亦然

Python 提供了各種方法將字串編碼為二進位表示,反之亦然。

字串轉二進位

提供的程式碼使用reduce 將字串轉換為二進位。然而,更簡單的方法是使用Python 2 中的binascii 模塊和Python 3 中的int.from_bytes:

import binascii

binary = bin(int(binascii.hexlify('hello'), 16)) # Python 2
binary = bin(int.from_bytes('hello'.encode(), 'big')) # Python 3+
登入後複製

二進製到字符串

要反轉該過程,使用Python 2 中的binascii.unhexlify 和Python 中的int.to_bytes方法3:

text = binascii.unhexlify('%x' % n) # Python 2
text = n.to_bytes((n.bit_length() + 7) // 8, 'big').decode() # Python 3+
登入後複製

UTF-8 支援

要支援Python 3 中的所有Unicode 字符,您可以建立自訂函數進行轉換:

def text_to_bits(text, encoding='utf-8', errors='surrogatepass'):
    # Converts text to bits, supporting all Unicode characters
    ...

def text_from_bits(bits, encoding='utf-8', errors='surrogatepass'):
    # Converts bits back to text, supporting all Unicode characters
    ...
登入後複製

這個自訂函數同時相容於Python 2和Python 3。

綜上所述,Python提供了二進位字串轉換的各種方法。上述解決方案提供了高效靈活的方法來處理此任務,包括對 Unicode 字元的支援。

以上是如何在 Python 中高效地在二進位和 ASCII 字串之間進行轉換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板