|
■No53174 (いか さん) に返信 > 魔界の仮面弁士さん、ご丁寧な解説ありがとうございました。 > 自分の勉強不足さを痛感しました・・・。 このあたりの知識が無いと、 No53047 のサンプルを見ても、 実行結果の意味を理解しにくいかも知れませんね…。
> 現状はすぐには確認はできませんが、結合試験等で確認するようにします。 その前に、仕様を確認しましょう。
もしも本当に iso-2022-jp が望まれているのだとしたら、 そもそも半角カナは渡せませんし、渡すべきでもありません。
その場合には、半角カナを含むデータを処理するにあたり、 ・変換エラーとして処理する。 ・代替文字(全角カナなど)に置き換える。 ・使用不可能文字として、それらの文字を取り除く。 など、何らかの対処を行う必要があるでしょう。 (設計者がそこまで考慮していなかった可能性もありますが、その場合は 問題点として挙げて、どのように振る舞うべきかを定めるべきです)
逆に、半角カナの受け渡しも必要とされているのだとすれば、CSV に そもそも iso-2022-jp が選択されることは無いハズです。とはいえ、 仕様書側が誤っていて「iso-2022-jp」と記述されている可能性も ありえますので、事前に担当者にきちんと確認しておきましょう。
なお、iso-2022-jp では使えないはずの『JIS X 0201(半角カナ)』や 『JIS X 0212(補助漢字)』を使えるように拡張した独自の実装を、 ISO-2022-JP であると(誤って)呼称している例も少なからずあります。
その場合、文字集合を切り替えるために用いられる 制御文字(またはエスケープシーケンス)のバイナリが、その処理系で どのように定義されているのかを正しく把握する必要があるでしょう。
独自拡張の場合、その内容によっては、標準で用意された Encoding クラスでは 対処しきれず、自前での変換が求められるケースもあったりしますので、 結合試験の段階で確認するのでは遅いと思いますよ。
|