Python 模擬試験

Python実践 模擬試験 第5回 問19・6章 テキストの処理(文字エンコーディング)

文字化けの再現

次のコードを実行したときの出力として、正しいものを1つ選べ。

s = "日本"
print(len(s.encode("utf-8").decode("latin-1")), "é".encode("latin-1"))
  1. A

    6 b'\xe9'

  2. B

    2 b'\xe9'

  3. C

    6 b'\xc3\xa9'

  4. D

    2 b'e'

正解と解説を見る

正解:A

文字コードを取り違えて decode すると、文字化けする。UTF-8 のバイト列を、1 バイトずつ別の文字として読んだ結果になる。

順実行する行実行後の変数
1`s = "日本"`s = '日本'
2`print(len(s.encode("utf-8").decode("latin-1")…`s = '日本'
結果実際の出力6 b'\xe9'

学習のポイント:正しい文字コードを指定して decode し直す。

この問題を演習で解く →

問題一覧へ

このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。