107.3標準
input.txtはISO-8859-1で、内容をUTF-8へ変換してoutput.txtへ保存する。
適切なコマンドはどれか。
× 不正解
iconvは-f FROMと-t TOで文字encoding間を変換し、標準出力をredirectして別fileへ保存できる。
詳細解説
誤り
iconv -f UTF-8 -t ISO-8859-1 input.txt > output.txt変換元と変換先が逆である。
誤り。UTF-8を入力、ISO-8859-1を出力として指定しており、要求の変換方向と逆である。
正しい
iconv -f ISO-8859-1 -t UTF-8 input.txt > output.txt-fで変換元、-tで変換先を指定し、変換結果を保存する。
正しい。inputをISO-8859-1として読み、UTF-8へ変換した標準出力をoutput.txtへ保存する。
誤り
iconv -f ISO-8859-1 input.txt output.txtoutput fileを位置引数で指定する形式ではなく、変換先とredirectも欠ける。
誤り。-tによる変換先がなく、output.txtを出力fileとして扱う位置引数形式でもない。
誤り
locale -t UTF-8 input.txt > output.txtlocaleは文字列変換commandではない。
誤り。localeは設定照会用で、-tを使ってfile内容を別encodingへ変換しない。
実際に確かめる
一時的な検証環境で実行できる例です。
printf '\351\n' | iconv -f ISO-8859-1 -t UTF-8 | od -An -t x1期待される結果
c3 a9 0a理解のポイント
- -fはfrom
- -tはto
- 結果は標準出力
確認時の注意
- 確認環境: GNU libiconv互換iconv / 合成1文字
基礎のおさらい
変換不能文字
変換先で表せない文字や不正byte列があると失敗し得る。無視・置換optionはdata損失を理解して使う。
上書き回避
入力と同じfileへ直接redirectするとshellが先にtruncateするため、別fileへ出して検証後に置換する。
問題IDKP-107-710
確認環境GNU libiconv互換iconv / 合成1文字
最終技術確認2026-08-13
誤り・権利侵害を報告