Chr () äquivalent, das ein Bytes-Objekt zurückgibt, in py3k

Python 2.x hat chr() , der eine Zahl im Bereich 0-255 in einen Byte-String mit einem Zeichen mit dem numerischen Wert umwandelt und unichr() , der eine Zahl im Bereich 0-0x10FFFF in einen Unicode-String umwandelt Mit einem Zeichen mit dem Unicode-Codepoint. Python 3.x ersetzt unichr() mit chr() , im Einklang mit seiner "Unicode-Strings sind Standard" -Politik, aber ich kann nichts finden, was genau das tut, was der alte chr() hat. Das 2to3 Dienstprogramm (ab 2.6) lässt chr Anrufe allein, was im Allgemeinen nicht richtig ist 🙁

(Dies dient zum Analysieren und Serialisieren eines Dateiformats, das explizit in 8-Bit-Bytes definiert ist.)

  • Mock eine Klasse mit langweilig __init__
  • Python-String-Vokalzähler
  • Lokaler Umfang, über den Umfang der Umschließung hinaus
  • Nennen dot Produkte und lineare Algebra Operationen in Cython?
  • Methode mit variabler Anzahl von Objekten und einer Liste anderer Argumente
  • Wie erfasse ich von whitespace + {n} zum nächsten {n} in regex
  • Wie man doppelten Text in der Ausgabedatei während der Verwendung für Schleife zu verhindern
  • Integration in Fourier- oder Zeitbereich
  • Kratzen Sie mit BeautifulSoup von der Website, die AJAX Paginierung mit Python verwendet
  • Bereich () für Schwimmer
  • Wie man F2 Schlüssel zum Fernwirt mit python sendet
  • Eine weitere Transaktion ist bereits im Gange
  • 4 Solutions collect form web for “Chr () äquivalent, das ein Bytes-Objekt zurückgibt, in py3k”

    Betrachten Sie die Verwendung von Bytearray ((255,)), die das gleiche in Python2 und Python3 funktioniert. In beiden Python-Generationen kann das resultierende Bytearray-Objekt in ein Bytes (obj) umgewandelt werden, das ein Alias ​​für ein Str () in Python2 und Real Bytes () in Python3 ist.

     # Python2 >>> x = bytearray((32,33)) >>> x bytearray(b' !') >>> bytes(x) ' !' # Python3 >>> x = bytearray((32,33)) >>> x bytearray(b' !') >>> bytes(x) b' !' 

    Versuchen Sie Folgendes:

     b = bytes([x]) 

    Beispielsweise:

     >>> bytes([255]) b'\xff' 
     >>> import struct >>> struct.pack('B', 10) b'\n' >>> import functools >>> bchr = functools.partial(struct.pack, 'B') >>> bchr(10) b'\n' 

    Falls Sie den Python 2/3 kompatiblen Code schreiben möchten, verwenden Sie six.int2byte

    Python ist die beste Programmiersprache der Welt.