NULL文字を空白に変換してNo.25463
あすか さん 08/09/24 15:25
 
お世話になります。

UNIXでCOBOLよりDISPLAYして出力した
ログファイルがあります。
このファイル([Shift-JIS][LF])を
FFFTPを利用して
秀丸エディタ7.08にて開いたところ

「NULL文字を空白に変換して読み込みました。変換した場所にジャンプしますか?」
というダイアログが出ました。
「はい」を選べば最初の場所にジャンプしてくださるのですが
2個目以降の場所を調べる方法にこまっております。

NULL文字を空白以外の何かに変換できないものでしょうか。
ログには空白が沢山ありどこにNULLがあるのかを判別する手段がなく
悩んでおります。

何か方法がありましたらよろしくお願いします。

[ ]
RE:25463 NULL文字を空白に変換してNo.25464
秀丸担当 さん 08/09/24 16:31
 

>NULL文字を空白以外の何かに変換できないものでしょうか。
>ログには空白が沢山ありどこにNULLがあるのかを判別する手段がなく
>悩んでおります。

NULL文字を直接検索することはできませんが、バイナリモードで開いて確認した
り他のコードに変えることは一応できます。
秀丸エディタのバイナリモードは簡易的なもので、未保存のファイルをバイナリ
モードに切り替えたり、カーソル位置を維持して切り替えたりすることはできま
せんが、NULL文字を書き換えて保存はできます。

バイナリモードを使うには以下のようにします。

・[その他]→[動作環境]→[ファイル]で、Windows2000タイプか95タイプにして
『「バイナリモードで開く」を使う』をONにする。
・[ファイル]→[開く]で、「バイナリモードで開く」をONにして、目的のファイ
ルを開く。

または、[その他]→[メニュー編集]で「ファイル(F)」メニュー内に「バイナリ
モード」を入れることもできるので、普通に開いた後にバイナリモードに切り替
えもできます。


テキストがShift-JISと決まっているのであれば、文字列「00」を検索すること
で見つけることができます。
Unicodeの場合は普通の文字に「00」が含まれるので見つけるのは難しいです。

例えば、適当に「00」を「01」に置換して保存すると、01は制御文字なので、読
込み直すと「A」の反転した文字になって見えます。
危険なので、元のファイルはバックアップして別のファイル名で保存されること
をおすすめします。

[ ]
RE:25464 感謝No.25465
あすか さん 08/09/24 17:01
 

バイナリモードで読み込み
00→01に変更して保存することで
無事NULLの箇所を発見できました。

回答ありがとうございます。

[ ]