Was bedeutet Abpräfix vor einer Python-String?

In einem Python-Quellcode stolperte ich auf Ich habe eine kleine B vor einer String wie in gesehen gesehen:

b"abcdef" 

Ich weiß über die u Präfix Bedeutung einer Unicode-String, und die r Präfix für eine rohe String Literal.

Was steht für die b und für welche Art von Quellcode ist es sinnvoll, da es genau wie ein einfacher String ohne Präfix zu sein scheint?

2 Solutions collect form web for “Was bedeutet Abpräfix vor einer Python-String?”

Das ist Python3 bytes Literal . Dieses Präfix fehlt in Python 2.5 und älter (es entspricht einer einfachen Zeichenkette von 2.x, während ein einfacher String von 3.x entspricht einem Literal mit u Präfix in 2.x). In Python 2.6+ ist es gleichbedeutend mit einem einfachen String, für die Kompatibilität mit 3.x.

Das b Präfix bedeutet ein bytes String-Literal .

Wenn Sie es in Python 3-Quellcode verwenden, erstellt der Ausdruck ein bytes Objekt , kein str Unicode- str Objekt . Wenn Sie sehen, dass es in Ihrer Python-Shell oder als Teil einer Liste, dict oder anderen Containerinhalt widerhallt, dann sehen Sie ein bytes Objekt, das mit dieser Notation dargestellt wird.

bytes Objekte enthalten grundsätzlich eine Folge von Ganzzahlen im Bereich 0-255, aber wenn dargestellt, zeigt Python diese Bytes als ASCII-Codepunkte an, um es leichter zu machen, ihren Inhalt zu lesen. Alle Bytes außerhalb des druckbaren Bereichs von ASCII-Zeichen werden als Escape-Sequenzen (zB \n , \x82 , etc.) \x82 .

bytes Binärdaten , einschließlich codierter Text . Wenn Ihr bytes Wert Text enthält, müssen Sie ihn zuerst mit dem richtigen Codec decodieren. Wenn die Daten beispielsweise als UTF-8 codiert werden, können Sie einen Unicode- str Wert mit:

 strvalue = bytesvalue.decode('utf-8') 

Python 2, Versionen 2.6 und 2.7 unterstützen auch das Erstellen von String-Literalen mit b'..' String-Literal-Syntax, um den Entwicklungscode zu erleichtern, der sowohl auf Python 2 als auch auf 3 funktioniert.

  • Python Script gibt nach Beendigung einer Funktion unbeabsichtigtes "None" zurück
  • String-Formatierung benannte Parameter?
  • Wie lösche ich Artikel aus einem ttk.Treeview-Widget?
  • Jython @property SyntaxError: nicht übereinstimmende Eingabe '' erwartet CLASS
  • Statische variable Vererbung in Python
  • Bedingter Betreiber in Python?
  • Wie drückst du binäre Literale in Python aus?
  • Einen Index im Wertebereich zwischen 0-100 in Python finden
  • Wie normalisiere ich ein zweidimensionales numpy Array in Python weniger ausführlich?
  • Was ist :: (Doppelkolon) in Python bei der Abrechnung von Sequenzen?
  • Python: Man versuche mehrfach
  • Python ist die beste Programmiersprache der Welt.