Menukar Binari kepada ASCII dan Sebaliknya
Python menawarkan pelbagai kaedah untuk mengekod rentetan ke dalam perwakilan binarinya dan sebaliknya.
String ke Binari
The dengan syarat kod menggunakan reduce untuk menukar rentetan kepada binari. Walau bagaimanapun, cara yang lebih mudah ialah menggunakan modul binasci dalam Python 2 dan int.from_bytes dalam Python 3:
import binascii binary = bin(int(binascii.hexlify('hello'), 16)) # Python 2 binary = bin(int.from_bytes('hello'.encode(), 'big')) # Python 3+
Binary to String
Untuk membalikkan proses, gunakan binasci.unhexlify dalam Python 2 dan kaedah int.to_bytes dalam Python 3:
text = binascii.unhexlify('%x' % n) # Python 2 text = n.to_bytes((n.bit_length() + 7) // 8, 'big').decode() # Python 3+
Sokongan UTF-8
Untuk menyokong semua aksara Unicode dalam Python 3, anda boleh mencipta fungsi tersuai untuk penukaran:
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 ...
Fungsi tersuai ini serasi dengan Python 2 dan Python 3.
Ringkasnya, Python menyediakan pelbagai kaedah untuk penukaran rentetan binari. Penyelesaian di atas menawarkan cara yang cekap dan fleksibel untuk mengendalikan tugas ini, termasuk sokongan untuk aksara Unicode.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Antara Rentetan Binari dan ASCII dengan Cekap dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!