正答4
解説
正解は4です。
XML宣言の符号化宣言(encoding)を省略できる文字コードを問う問題です。
XMLの仕様では、符号化宣言がない文書はUTF-8またはUTF-16で書かれているものとして扱われます。
【選択肢別解説】
1:× EUC-JPは、XMLの既定の文字コードではないので、XML宣言のencodingでEUC-JPと明示する必要があります。
2:× ISO-2022-JPも既定の文字コードではなく、符号化宣言が必要です。
3:× Shift-JISも同様に、符号化宣言を省略すると正しく読み込めません。
4:○ UTF-16は、UTF-8と並んでXMLの既定の文字コードであり、符号化宣言を省略できます。
UTF-16では文書の先頭にBOM(バイトオーダーマーク)を付けて判別します。
【ポイント】
XMLで符号化宣言を省略できるのはUTF-8とUTF-16の二つです。
それ以外の文字コードを使うときは、XML宣言にencodingを必ず書きます。