Python 模擬試験

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

バイト列の16進表示

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

print("あ".encode("utf-8").hex(), bytes([0xe3, 0x81, 0x82]).decode())
  1. A

    3042 あ

  2. B

    e38182 あ

  3. C

    e38182 e38182

  4. D

    82 あ

正解と解説を見る

正解:B

bytes.hex() はバイト列を 16 進文字列にする。decode でバイト列を文字列に戻す。文字コードの指定を間違えると文字化けする。

順実行する行実行後の変数
1`print("あ".encode("utf-8").hex(), bytes([0xe3,…`—
結果実際の出力e38182 あ

学習のポイント:ord("あ") はコードポイントの 12354(0x3042)。

この問題を演習で解く →

問題一覧へ

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