エンコードの誤りの扱い
次のコードを実行したときの出力として、正しいものを1つ選べ。
print("é".encode("utf-8"), "é".encode("ascii", errors="replace"))
- A
b'\xc3\xa9' b'?' - B
b'\xe9' b'?' - C
b'\xc3\xa9' UnicodeEncodeError - D
b'e' b'e'
正解と解説を見る
正解:A
encode(エンコーディング, errors=...) の errors は、strict(例外)、replace(? に置換)、ignore(無視)などを指定する。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `print("é".encode("utf-8"), "é".encode("ascii"…` | — |
| 結果 | 実際の出力 | b'\xc3\xa9' b'?' |
- A
正しい。UTF-8 では 2 バイト。ASCII で表せない文字は、
errors="replace"で?になる。 - B
誤り。UTF-8 では 2 バイトで表す。
- C
誤り。
errors="replace"で例外にならない。 - D
誤り。文字は変換されない。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。