00hの処理および非可読文字コードの処理にNo.22810
ぽちたま さん 07/03/31 16:22
 
はじめまして。
秀丸エディタについて質問させてください。

例えばSJISテキストファイル内に00hがあると20hに無言で変換されてしまうのですが、
『警告する』『変換しない』を選ぶことはできますでしょうか。
00hが0Chや1Bhのような表示だと嬉しいです。

また、非可読文字コード(制御コード等)があった場合に『警告する』みたいな設定
はできますでしょうか。
更に09h、0Ah、0Dh等も0Chや1Bhのような1バイトでの表示ができると嬉しいです。

なんでこんなよく分らない機能が欲しいのかといいますと、
現在扱っているファイルが固定長レコードのテキストデータで改行がありません。
開いて『折り返し文字数』で長さを合わせ確認をしたりします。

ある日『見た目おかしい所がないのにチェックが通らない』というデータがあって、
一見秀丸で見ると問題なさそうなんですが00hがあったわけです。

こんなこともあって、上の質問なのです。

色々テキストエディタを試したのですが、
・00hでEOF扱いで以降のデータが切れている
・00hを警告してくれるが20hに変換してどこが変わったのか分からない
・00hを警告せずに20hに変換
・00hを警告せずに固定の文字列(2バイト)に変換
とこんな感じで、
『警告してくれて元データのまま非可読文字コードの箇所が分かり見た目も折り返し
位置も変化しない』
というのが見つかりませんでした。(あれもこれもですねorz)

これバイナリエディタだとレコードのどの辺ってのが視覚的に解り難くなってしまう
んですよねぇ。

長々と申し訳ありません。
なんらかの方法がありましたら、ご教授ください。

[ ]
RE:22810 00hの処理および非可読文字コーNo.22814
秀丸担当 さん 07/04/02 11:24
 

>例えばSJISテキストファイル内に00hがあると20hに無言で変換されてしまうのですが、
>『警告する』『変換しない』を選ぶことはできますでしょうか。
>00hが0Chや1Bhのような表示だと嬉しいです。

[その他]→[動作環境]→[ファイル]→[エンコード2]→[開くときのエンコードの
種類関連]に、「変換できない文字があったとき警告メッセージを表示」という
のがありますが、00hの場合は警告を出していませんでした。
00hの場合も出すべきだと思うので、出すように修正してみようと思います。

20hに変換しないようにすることはできないです。
09h、0Ah、0Dh等を一文字として表示することもできないです。
09h、0Ah、0Dh等までということになると、普通のタブや改行なので、テキスト
エディタでやるには無理があるように思います。

秀丸エディタには簡易的なバイナリモードがあって、これで一応00hがあるかど
うかというのを確認することはできます。
操作方法はいろいろありますが、簡単なのは[その他]→[メニュー編集]で、ファ
イルメニューに「バイナリモード」を表示させておくようにしておくと、このコ
マンドでバイナリモードを切り替えることができます。

[ ]