Bytes zu Saiten in Python

Bytes zu Saiten in Python

In Python wird es immer dann als Byte aufbewahrt. Die Bytes sind nicht menschlich lesbar, und Strings sind menschlich lesbare Formen. Immer wenn wir eine Zeichenfolge speichern, speichert sie sie nicht direkt als Zeichenfolge. Es wird mit verschiedenen Methoden wie ASCII und UTF-8 in die Bytes codiert.

Zum Beispiel, "Ich bin ein LinuxHint".codieren ('ascii')

Im obigen Beispiel konvertieren wir die Zeichenfolge unter Verwendung der Codemethode ASCII in Bytes. Und wenn wir es mit der Python -Print -Methode drucken, werden wir Ergebnisse wie B'i AM A LinuxHint sehen. Hier können wir sehen, dass die Zeichenfolge gerade einem Zeichen folgt, b. In Wirklichkeit können wir die Bytes nicht lesen, aber hier dekodiert die Python-Druckfunktion die Bytes in menschlich lesbare Formen, damit wir die Zeichenfolgen lesen können.

Wenn wir diese Zeichenfolge ausführen, um jedes Zeichen der Bytes -Saiten zu sehen, wird sie so drucken:

STR1 = 'Ich bin ein LinuxHint'
Druck (Typ (str1))
STR2 = B'i AM A LinuxHint '
Druck (Typ (str2))

Wir haben zwei Saiten erstellt. Eine Zeichenfolge ist unkompliziert. Und die andere Zeichenfolge ist Bytes. Wenn wir beide String -Typen drucken, erhalten wir Ergebnisse, wie unten gezeigt. Die folgenden Ergebnisse zeigen, dass eine Zeichenfolge ein Byt -Typ ist und ein anderer ein String -Typ ist.


Jetzt drucken wir jeden Charakter beider Saiten, um den Unterschied zwischen ihnen zu finden. Zunächst drucken wir eine Zeichenfolge (STR1) mit einer für die Schleife, bei der es sich um eine normale Zeichenfolge handelt.

für ein in str1:
Druck (a)

Ausgang:

ICH
A
M
A
l
ich
N
u
X
H
ich
N
T

Jetzt werden wir eine andere Zeichenfolge (STR2) drucken, die ein Byte -Typ ist.

für ein in str2:
Druck (a)

Ausgang:

73
32
97
109
32
97
32
108
105
110
117
120
104
105
110
116

Aus den obigen Ergebnissen können wir die Unterschiede zwischen dem Bytes -Typ und dem String -Typ sehen. Bytes Typ sind keine menschlichen lesbaren Formen.

Jetzt werden wir also verschiedene Methoden sehen, die die Bytes in Saiten umwandeln können.

Methode 1: Verwenden Sie die Funktion map ()

In dieser Methode verwenden wir die Funktion map (), um die Bytes in ein String -Format umzuwandeln. Das folgende kleine Programm wird das Konzept löschen.

Byte = [97, 99, 100]
s = ".join (map (chr, byte))
Druck (en)

Ausgang:

ACD

Linie 1: Wir haben eine Liste von Namensbyte erstellt.

Zeile 3: Anschließend haben wir die Zeichen des Elements in der Liste als Parameter und Byte als Parameter für die Funktion "join () übergeben, die alle Zeichen nach der Konvertierung verbindet. Schließlich wird das Ergebnis gedruckt.

Methode 2: Verwenden der Funktion decode () mit der Funktion von decode ()

Eine andere Methode ist eine Decode () -Funktion. Die Dekodierungsfunktion funktioniert direkt gegenüber der Funktion coder ().

#Convert Bytes zum String mit Decodes ()
STR = B'blogs LinuxHint '
Druck (str)
Druck (Typ (str))
# Jetzt Bytes in Zeichenfolge konvertieren
Ausgabe = str.dekodieren()
print ('\ noutput:')
Druck (Ausgabe)
Druck (Typ (Ausgabe))

Ausgang:

B'blogs LinuxHint '

Ausgang:

Blogs LinuxHint

Zeile 3: Wir haben eine Byte -Zeichenfolge erstellt.

Zeile 4 bis 5: Diese Zeilen drucken einfach Informationen über die in Zeile 3 erstellte Zeichenfolge aus.

Zeile 8: Jetzt rufen wir die Decoder -Funktion auf und speichern das Ergebnis in einem neuen variablen Namen.

Zeile 11 bis 12: Diese Zeilen zeigen, dass unsere String jetzt jetzt keinen Byte -Typ mehr hat und dass wir den Typ des Ausgangs bestätigen können, der ein String -Typ ist.

Methode 3: Verwenden der Codecs.Decodes () -Funktion

In dieser Methode werden wir Codecs verwenden.Decodes () -Funktion. Diese Funktion wird verwendet, um die binäre Zeichenfolge in normale Formen umzuwandeln. Lassen Sie uns also sehen, wie diese Funktion tatsächlich funktioniert.

#Convert Bytes zum String mit codecs ()
Codecs importieren
STR = B'blogs LinuxHint '
Druck (str)
Druck (Typ (str))
# Jetzt Bytes in Zeichenfolge konvertieren
Ausgabe = Codecs.decodieren (str)
print ('\ noutput:')
Druck (Ausgabe)
Druck (Typ (Ausgabe))

Ausgang:

B'blogs LinuxHint '

Ausgang:

Blogs LinuxHint

Zeile 2: Wir importieren die Bibliothekscodecs.

Zeile 3: Wir haben eine Byte -Zeichenfolge erstellt.

Zeile 4 bis 5: Diese Zeilen drucken einfach Informationen über die in Zeile 3 erstellte Zeichenfolge aus.

Zeile 8: Jetzt rufen wir die Caodecs an.Dekodieren Sie die Funktion und speichern Sie das Ergebnis in einem neuen variablen Namen.

Zeile 11 bis 12: Diese Zeilen zeigen, dass unsere String jetzt keinen Byte -Typ hat und wir den Typ des Ausgangs bestätigen können, der ein String -Typ ist.

Methode 4: Verwenden der Funktion str ()

Wir können die Bytes auch mit der STR () -Funktion in normale Zeichenfolgen umwandeln. Das kleine Programm zum Verständnis dieser Methode ist unten angegeben.

Wenn __name__ == '__main__':
STR1 = B'blogs LinuxHint '
Druck (str)
Druck (Typ (str))
# Jetzt Bytes in Zeichenfolge konvertieren
Ausgabe = str (str1, 'utf-8')
print ('\ noutput:')
Druck (Ausgabe)
Druck (Typ (Ausgabe))

Ausgang:


Ausgang:

Blogs LinuxHint

Zeile 2: Wir haben eine Byte -Zeichenfolge erstellt.

Zeile 3 bis 4: Diese Zeilen drucken einfach Informationen über die in Zeile 3 erstellte Zeichenfolge aus.

Zeile 6: Jetzt nennen wir die Funktion str () und speichern das Ergebnis in einem neuen variablen Namen.

Zeile 7 bis 9: Diese Zeilen zeigen, dass unsere String jetzt keinen Byte -Typ mehr hat und wir den Typ des Ausgangs bestätigen können, der ein String -Typ ist.

Abschluss

Als Python -Programmierer arbeiten wir täglich an verschiedenen Sprachen, und manchmal erhalten wir aufgrund der Bytes einen Fehler. In diesem Artikel versuchen wir also, einigen Methoden wie man die Bytes in die Zeichenfolge umzuwandeln, damit Sie, wenn wir Methoden in Bezug auf die Zeichenfolge anwenden, keinen Fehler erhalten.

In diesem Tutorial haben wir alle Konzepte gegeben, mit denen wir die Bytes in Saiten umwandeln können. Sie können nach Ihren Programmanforderungen wählen.