[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[port139ml:03193] Re: jstrings (Japanese 'strings' command)



はせがわといいます。

Hideaki Iharaさんは 2003/5/3(土) 09:07 ごろ、
「[port139ml:03185] Re: jstrings (Japanese 'strings' command)」の
メールで書きました。

>> みたいにできれば、ntfs.dd に含まれる SJIS な文字列と Unicode な文字列の
>> 両方が拾えたりできてうれしいかなぁと。
>二つ以上の場合、出力(画面表示)文字コードはどうなるんでしょ?
>NKF な何かを通して一括して Shift_JIS へ変換してから表示させる
>とかすることになるんでしょうか...

同梱のドキュメントにちらっと書いてあるんですが、表示用の文字コードを新
たにオプションで指定できるようにしたらどうかなあと考えています。

  jstrings -iCP932 -iUTF-16 -oCP932 ntfs.dd 
 
みたいに。ちなみに、これが実現できると、

C:\> jstrings -iCP932 -oUTF-16 SJIS.txt > UNICODE.TXT

という形で文字コードコンバータとしても使えたりするかも知れません。

# やりたいことはいっぱいあるんですが、時間がないです。

>> ISO-2022-JP では複数の文字コード(文字集合)をエスケープシーケンスによっ
>> て切り替えることができますので、途中にゴミが入ると -- 言い換えれば、バイ
>> ト列の断片だけを見るのでは -- その部分がどの文字コードを指しているのか
>> 判断しようがない、というわけです。
>
>ゴミにより判断できない場合には、強制的に何らかのエスケープシー
>ケンスを指示して処理する形が妥当な解決策になるのでしょうか?
>

なにが妥当か、私には判断がつきませんので、最終的には、オプションで利用
者に判断させることになるのがベストではないかとおもいます。

a) ゴミデータはゴミ。全部捨てる。
b) 直近に現れた文字集合として扱う。
c) 指定された特定の文字集合として固定する。
d) 可能性のあるすべての文字集合であるとする。

d) の場合、例えば 24 22 なんていうバイト列は「$"」と「あ」の両方で表示
されるという感じです。フォレンジックむきですね。
 
うーん、オプションがかなり「ややこしや〜♪」になりそうな…。

---
   はせがわ hasegawa@xxxxxxxxx

   "UNIX 4.3BSDの設計と実装" 復刊リクエスト投票募集中
   http://www.fukkan.com/vote.php3?no=4316