URL エンコード
次のコードを実行したときの出力として、正しいものを1つ選べ。
from urllib.parse import quote, urlencode
print(quote("日本 語"), urlencode({"q": "a b", "n": 1}))
- A
日本 語 q=a b&n=1 - B
%E6%97%A5%E6%9C%AC%20%E8%AA%9E q=a+b&n=1 - C
%E6%97%A5%E6%9C%AC+%E8%AA%9E q=a%20b&n=1 - D
%E6%97%A5%E6%9C%AC%20%E8%AA%9E q=a b&n=1
正解と解説を見る
正解:B
urllib.parse.quote は URL のパス用のエンコード、urlencode はクエリ文字列の作成。文字は UTF-8 のパーセントエンコーディングになる。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `from urllib.parse import quote, urlencode` | — |
| 2 | `print(quote("日本 語"), urlencode({"q": "a b", "…` | — |
| 結果 | 実際の出力 | %E6%97%A5%E6%9C%AC%20%E8%AA%9E q=a+b&n=1 |
- A
誤り。エンコードされる。
- B
正しい。
quoteは UTF-8 でパーセントエンコーディングし、urlencodeは空白を+にする。 - C
誤り。
quoteは空白を%20、urlencodeは+にする。 - D
誤り。
urlencodeは空白を+にする。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。