UTF-16 の BOM
次のコードを実行したときの出力として、正しいものを1つ選べ。
print(len("abc".encode("utf-16")), len("abc".encode("utf-16-le")))
- A
8 6 - B
6 6 - C
6 8 - D
3 3
正解と解説を見る
正解:A
UTF-16 は、バイト順を示す BOM が付く(utf-16)。BOM なしでバイト順を指定するのが utf-16-le・utf-16-be。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `print(len("abc".encode("utf-16")), len("abc".…` | — |
| 結果 | 実際の出力 | 8 6 |
- A
正しい。
utf-16は先頭に BOM(2 バイト)が付き、1 文字 2 バイトで 6 バイト、合計 8。utf-16-leは BOM なし。 - B
誤り。
utf-16には BOM が付く。 - C
誤り。BOM があるのは
utf-16。 - D
誤り。1 文字は 2 バイト。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。