Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menukar Antara ASCII dan Perwakilan Binari dalam Python?
Menukar Perduaan kepada ASCII dan Kembali
Coretan kod yang diberikan menukar rentetan kepada perwakilan binari. Untuk memahami mekanismenya, mari kita analisa pendekatan alternatif.
Python 2: Julat Aksara ASCII
Untuk aksara ASCII dalam julat [ -~], Python 2 menyediakan penyelesaian yang lebih mudah:
import binascii n = int(binascii.hexlify('hello'), 16) binary_representation = bin(n)
Kod ini menukar rentetan 'hello' kepada perwakilan heksadesimal dan kemudian menjadi perwakilan binari.
Menterbalikkan Penukaran
Untuk menukar perwakilan binari kembali kepada rentetan:
n = int('0b110100001100101011011000110110001101111', 2) string_representation = binascii.unhexlify('%x' % n)
Ini menukarkan perwakilan binari kembali kepada perwakilan heksadesimal dan kemudian ke dalam rentetan asal 'hello.'
Python 3.2 :
Python 3.2 memperkenalkan kaedah tambahan:
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()
Sokongan Unicode dalam Python 3:
Untuk menyokong semua aksara Unikod dalam Python 3:
def text_to_bits(text, encoding='utf-8', errors='surrogatepass'): # ... def text_from_bits(bits, encoding='utf-8', errors='surrogatepass'): # ...
Fungsi ini menukar antara teks dan perwakilan binari, menyokong aksara Unicode.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Antara ASCII dan Perwakilan Binari dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!