首頁 >後端開發 >Python教學 >如何在 Python 中轉換 ASCII 和二進位表示形式?

如何在 Python 中轉換 ASCII 和二進位表示形式?

Patricia Arquette
Patricia Arquette原創
2024-11-30 14:52:10162瀏覽

How to Convert Between ASCII and Binary Representations in Python?

將二進位轉換為 ASCII 並傳回

給定的程式碼片段將字串轉換為二進位表示法。為了理解其機制,我們來分析一種替代方法。

Python 2:ASCII 字符範圍

對於[ -~] 範圍內的ASCII 字符,Python 2 提供了一個更簡單的解決方案:

import binascii

n = int(binascii.hexlify('hello'), 16)
binary_representation = bin(n)

此程式碼將字串'hello'轉換為十六進位表示,然後轉換為二進位表示形式。

反轉轉換

要將二進位表示形式轉換回字串:

n = int('0b110100001100101011011000110110001101111', 2)
string_representation = binascii.unhexlify('%x' % n)

這將轉換二進位表示形式傳回十六進位表示形式,然後轉換為原始字串“hello”。

Python 3.2 :

Python 3.2 引進了額外的方法:

n = int.from_bytes('hello'.encode(), 'big')
binary_representation = bin(n)
n = int('0b110100001100101011011000110110001101111', 2)
string_representation = n.to_bytes((n.bit_length() + 7) // 8, 'big').decode()
支援所有Python 3 中的 Unicode 字元:

這個函數在文字和二進位表示之間進行轉換,支援 Unicode 字元。
def text_to_bits(text, encoding='utf-8', errors='surrogatepass'):
    # ...

def text_from_bits(bits, encoding='utf-8', errors='surrogatepass'):
    # ...

以上是如何在 Python 中轉換 ASCII 和二進位表示形式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn