bytes() 不変バイトシーケンス
最終更新:2026-09-22
bytes() 不変バイトシーケンス
bytes() は不変バイトシーケンスを返す;バイトシーケンス、文字列 + エンコーディング、または整数のイテラブルから構築できる。
| カテゴリ | 組み込み関数 |
|---|---|
| 種類 | 組み込み関数 |
| Python バージョン | all |
📝 構文
bytes([source[, encoding]]]])
⚙️ 引数
| source 任意 | Optional: an int, string, iterable of ints, or bytes-like object.(デフォルト値:None) |
|---|---|
| encoding 任意 | Encoding name used when source is a str, e.g. 'utf-8'.(デフォルト値:None) |
| errors 任意 | Error-handling scheme for encoding, e.g. 'strict' / 'ignore'.(デフォルト値:None) |
戻り値:bytes. An immutable bytes object.
💥 例外
TypeError— Raised when source has an unsupported type.ValueError— Raised when an element is outside 0-255.
▶ 例
下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:
実行結果:
b'hello'
b'\xe4\xb8\xad'
🏷️ 関連する組み込み関数
💡 関連するケース
さらに多くのケースは近日公開予定です。
❓ よくある質問
Qbytes(5) は何を返しますか?多くの人は b'5' だと思います。
Ab'\x00\x00\x00\x00\x00' を返します。整数引数は長さを意味し、その個数のゼロバイトを生成します。数字の文字列表現ではありません。
Qbytes() と bytearray() の違いは何ですか?
A核心の違いは可変性です。bytes は不変、bytearray は可変です。それ以外の構築規則(整数、文字列+エンコーディング、整数のイテラブル)は同じです。
Qなぜ bytes('中文') はエラーになるのですか?
A文字列から bytes を構築するにはエンコーディングも渡す必要があります:bytes('中文', encoding='utf-8') ならOKです。それ以外は encoding が不足していると TypeError になります。
Qbytes から文字列に戻すにはどうすればいいですか?
Adecode() メソッドを使います。例:b'\xe4\xb8\xad'.decode('utf-8') は '中' を返します。等価な書き方は str(b, encoding='utf-8') です。