平成25年度春期 応用情報技術者試験 午前 問35
1バイトのデータを16進2桁で表した後,先頭にパーセント記号を付けて %1A のような3バイトのASCII文字列にする変換はパーセントエンコーディングと呼ばれる。例えばUTF-8でエンコードされた“α”の16進表示はCEB1なので,これをパーセントエンコーディングしたものは %CE%B1 となる。パーセントエンコーディングが使用される場合はどれか。
- ア HTTPのベーシック認証でAuthorizationヘッダにパスワード情報を指定する場合
- イ Webページのフォーム上の漢字をHTTPのGETメソッドでサーバに送る場合
- ウ サブジェクトに日本語の文字を含む電子メールを送る場合
- エ フランス語やドイツ語のアルファベットを使った電子メールを送る場合
解答・解説を見る
正解:イ
AI解説
正解はイ。URLに使用できる文字はASCIIの一部に限られるため、漢字などの非ASCII文字や記号をURLに含める場合はパーセントエンコーディング(URLエンコード)で%XX形式に変換する。GETメソッドはフォームの入力データをURLのクエリ文字列として送るため、漢字はパーセントエンコーディングされる。「URLに載せるデータの変換=パーセントエンコーディング」が判断基準である。 ア: 誤り。ベーシック認証のAuthorizationヘッダでは「利用者ID:パスワード」をBase64でエンコードする。 イ: 正しい。GETメソッドではフォームデータがURLのクエリ文字列になるため、漢字はUTF-8などのバイト列にした上で%XX形式にパーセントエンコーディングされる。 ウ: 誤り。メールのサブジェクトの日本語はMIMEエンコーディング(Base64などを用いたencoded-word形式)で表現する。 エ: 誤り。欧文アルファベットの拡張文字を含むメール本文はMIMEのquoted-printableやBase64などで符号化するのが一般的である。 💡 エンコード方式は使い場所で覚える。「URL=パーセントエンコーディング」「ベーシック認証・メール添付=Base64」「メール件名=MIME encoded-word」。%記号を見たらURL関連と連想する。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。