Python 2.xは0-255の範囲の数値をその数値の1文字を含むバイト文字列に変換するchr()
と数値を変換するunichr()
0〜0x10FFFFの範囲で、そのUnicodeコードポイントで1文字のUnicode文字列に変換されます。 chr()
が行ったことを正確に行うことはできません。Python 3.xは、unichr()
をchr()
に置き換え、「Unicode文字列はデフォルトです」というポリシーに従います。 (2.6)2to3
ユーティリティは、一般的に適切ではない単独chr
コール、:(py3k内のbytesオブジェクトを返すchr()相当
(これは、明示的に8ビット・バイトで定義されているファイルフォーマットを解析し、シリアライズするためのものである。)
を使用し、Pythonの2/3互換のコードを書きたい場合。それはとにかく、仕事をします。 – zwol
@Zack: '' bytes((255、)) ''をバリエーションとして使うことができます。 Python2の – malthe
バイト((255))は、b '\ xff'を返しません...代わりに '(255、)'を返します。 –