Heim >Backend-Entwicklung >Python-Tutorial >Wie konvertiert man zwischen ASCII- und Binärdarstellungen in Python?

Wie konvertiert man zwischen ASCII- und Binärdarstellungen in Python?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-30 14:52:10173Durchsuche

How to Convert Between ASCII and Binary Representations in Python?

Binär in ASCII konvertieren und zurück

Der angegebene Codeausschnitt wandelt eine Zeichenfolge in eine binäre Darstellung um. Um seinen Mechanismus zu verstehen, analysieren wir einen alternativen Ansatz.

Python 2: ASCII-Zeichenbereich

Für ASCII-Zeichen im Bereich [-~] bietet Python 2 eine einfachere Lösung:

import binascii

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

Dieser Code wandelt die Zeichenfolge „Hallo“ in eine hexadezimale Darstellung um und dann in eine Binärdarstellung.

Umkehren der Konvertierung

So konvertieren Sie die Binärdarstellung zurück in eine Zeichenfolge:

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

Dadurch wird die Binärdarstellung konvertiert Darstellung zurück in eine hexadezimale Darstellung und dann in die ursprüngliche Zeichenfolge „Hallo“.

Python 3.2:

Python 3.2 führte zusätzliche Methoden ein:

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()

Unicode-Unterstützung in Python 3:

Zur Unterstützung aller Unicode-Zeichen in Python 3:

def text_to_bits(text, encoding='utf-8', errors='surrogatepass'):
    # ...

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

Diese Funktion konvertiert zwischen Text und binäre Darstellungen, die Unicode-Zeichen unterstützen.

Das obige ist der detaillierte Inhalt vonWie konvertiert man zwischen ASCII- und Binärdarstellungen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn