アサーションが失敗する Python 実装が存在する可能性があります。
assert all(byte in range(256) for byte in any_bytes_object) # Python 3 semantics
assert all(byte in range(256) for byte in map(ord, any_bytes_object)) # Python 2
CHAR_BIT == 8
POSIX では(1 バイトあたり 8 ビット)と明示的に指定されています。Pythonにも同様の保証はありますか? それはどこかに文書化されていますか?
Python 2 リファレンスには、「文字は (少なくとも) 8 ビット バイトを表す」と記載されています。
name が (古い Python バージョンで) 定義されていない場合bytes
(Jython 2.5 など)、質問はstr
型 (バイト文字列) に関するものです。つまり、bytes = str
Python 2 です。