LinuCレベル1 102試験の例題と解説
1.08.3ローカライゼーションと国際化
LinuCレベル1 102試験の出題範囲から、「1.08.3 ローカライゼーションと国際化」についての例題を解いてみます。
ここでは、ファイルの文字コードについて確認しておきましょう。
例題
文字コードがISO-2022-JPで書かれたファイル(test.txt)を、UTF-8の文字コードに変換できるコマンドを選択してください。
- iconv -f utf8 -t iso-2022-jp test.txt
- iconv -f iso-2022-jp -t utf8 test.txt
- iconv -l utf8 -o iso-2022-jp test.txt
- iconv -l iso-2022-jp -o utf8 test.txt
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「2. iconv -f iso-2022-jp -t utf8 test.txt」です。
iconvコマンドは、ファイルをある文字コードから別の文字コードに変換するコマンドです。
iconvコマンドで使用できる主なオプションは以下の通りです。
-f(--from-code) | : | 変換前の文字コード(エンコーディング)を指定します |
-t(--to-code) | : | 変換後の文字コード(エンコーディング)を指定します |
-l(--list) | : | 対応している文字コードの一覧を表示します |
-o(--output) | : | 出力先のファイルを指定します |
-c | : | 変換できなかった文字を出力から除きます |
使用している端末がUTF-8の場合、iso-2022-jpでかかれたファイルを閲覧すると文字化けして表示されます。
iconvコマンドを使用して-fオプションには、変換前の文字コード(iso-2022-jp)を指定し、-tオプションには変換後の文字コード(utf8)を指定すると、使用している端末がUTF-8でも、内容を確認することができます。
$ iconv -f iso-2022-jp -t utf8 test.txt
これはiso-2022-jpで記載された文章です。
ユーザ01 <user01@example.com>
また、-oオプションを使用すると、変換した内容をファイルに出力することができます。
$ iconv -f iso-2022-jp -t utf8 test.txt -o output.txt
UTF-8で変換されるため、viで開いても文字化けすることなく確認できます。
$ vi output.txt
これはiso-2022-jpで記載された文章です。
ユーザ01 <user01@example.com>
それでは、選択肢を見ていきます。
1.iconv -f utf8 -t iso-2022-jp test.txt
不正解です。
このコマンドの場合、UTF-8の文字コードをISO-2022-JPへ変換します。文字コードが逆のため不正解です。
2.iconv -f iso-2022-jp -t utf8 test.txt
正解です。
3.iconv -l utf8 -o iso-2022-jp test.txt
不正解です。
-lオプションは、対応している文字コードの一覧を表示するオプションです。また、-oオプションは、出力先のファイルを指定するオプションです。
よって不正解となります。
4.iconv -l iso-2022-jp -o utf8 test.txt
不正解です。
-lオプションは、対応している文字コードの一覧を表示するオプションです。また、-oオプションは、出力先のファイルを指定するオプションです。
よって不正解となります。
端末の文字コードとファイルの文字コードが異なると、文字化けしてしまい内容が確認できないことがあります。状況に合わせて、内容を確認できるようにしておきましょう。
例題作成者
株式会社デージーネット OSS研究室 橋本知里