1.08.3標準
UTF-8文書には日本語の「あ」が含まれる。
通常のISO-8859-1へ損失なく変換できるか判断する。
適切な説明はどれか。
× 不正解
ISO-8859-1は主に西欧言語向けの単一バイト文字集合で、日本語文字を収録しない。
詳細解説
正しいISO-8859-1に「あ」がないため、そのままでは変換できない
変換先に対応文字がなく、通常のiconvはエラーとする。
変換先に対応する文字がないため、損失なしの通常変換ではiconvが変換不能とする。
誤りISO-8859-1はUnicode全体を扱うため変換できる
ISO-8859-1はUnicode全体を収録しない。
ISO-8859-1はUnicode全体ではなく、収録範囲が限定された単一バイト集合である。
誤りASCII範囲なので必ず1バイトへ変換できる
日本語の「あ」はASCII範囲外である。
あはASCIIの0~127には入らず、1バイトASCIIとして表現できない。
誤りescape sequenceを付ければISO-8859-1で表せる
ISO-8859-1はISO-2022方式の文字集合切替を使わない。
escape sequenceによる集合切替はISO-2022-JPなどの方式で、ISO-8859-1には当てはまらない。
実際に確かめる
一時的な検証環境で実行できる例です。
printf 'あ' | iconv -f UTF-8 -t ISO-8859-1期待される結果
変換不能を示すiconvエラー理解のポイント
- 変換先に文字が必要
- ISO-8859-1は単一byte
- 日本語は表現範囲外
確認時の注意
- 確認環境: UTF-8端末 / iconv / 意図した失敗確認
- 検証は意図的に非ゼロ終了となる。出力ファイルへ既存データを上書きしない。
基礎のおさらい
文字集合の包含
符号化変換の可否は、入力文字に対応する符号が変換先へ存在するかで決まる。
損失処理
無視や近似変換は情報を変えるため、要件で許可された場合だけ明示的に選ぶ。
問題IDKL-102-1067
確認環境UTF-8端末 / iconv / 意図した失敗確認
最終技術確認2026-08-13
誤り・権利侵害を報告