NULLコードの扱いについてNo.04966
Dai さん 00/02/16 23:56
 
TO: 秀丸担当殿

秀丸について、質問があります。

NULLコード(0x00)が混じっているファイルを秀丸(Ver.3.04)で開いたところ、
NULLコードがスペース(0x20)に変換されます。
また、このままファイルをセーブすると、NULLコードがスペースに変換され
たままセーブされます。

秀丸の設定において、NULLコードの表示を可能にできるでしょうか?また、
NULLコードの記入、NULLコードを保持した状態でのフセーブは可能でしょう
か?

例えばDOSのMIFESエディターでは、NULLコードを"^@"で表示し、入力も
Ctrl+V00で可能です。また、ファイルセーブ時にNULLコードを保持した状態
でセーブできます。

バイナリーエディタではないので、仕様通りかもしれませんが、できれば
バイナリーファイルを開いた場合、バイナリーと判るメッセージがあると
ありがたいのですが。

以上、回答を宜しくお願い致します。

[ ]
RE:04966 NULLコードの扱いについてNo.04976
EMiCC さん 00/02/17 18:56
 
>NULLコード(0x00)が混じっているファイルを秀丸(Ver.3.04)で開いたところ、
>NULLコードがスペース(0x20)に変換されます。
>また、このままファイルをセーブすると、NULLコードがスペースに変換され
>たままセーブされます。
たしかにわたしのところでも確認できました。
(OS:WindowsNT4.0SP6a)
以前のバージョンでどうだったかはわからないんですが、データの内容を
自動的に変換してしまうのはできれば避けてもらいたいと思います。
ただ表示に関しては、

>例えばDOSのMIFESエディターでは、NULLコードを"^@"で表示し、入力も
これだと文字列の'^@'と判別できなくなるので、個人的には好きになれません。

>バイナリーファイルを開いた場合、バイナリーと判るメッセージがあると
>ありがたいのですが。
バイナリーファイルというファイルの種類はありません(すべてのファイル
がバイナリーファイルともいえる (^_^; )ので、これは不可能でしょう。


[ ]
RE:04966 NULLコードの扱いについてNo.04979
秀丸担当 さん 00/02/17 18:57
 
>NULLコード(0x00)が混じっているファイルを秀丸(Ver.3.04)で開いたところ、
>NULLコードがスペース(0x20)に変換されます。
>また、このままファイルをセーブすると、NULLコードがスペースに変換され
>たままセーブされます。

これは、秀丸の仕様です。
他にも改行コードを自動判断して統一していますし、EUCやJISの自動判断を
している場合、変換されてしまうので、バイナリの編集・保存はできません。

>バイナリーエディタではないので、仕様通りかもしれませんが、できれば
>バイナリーファイルを開いた場合、バイナリーと判るメッセージがあると
>ありがたいのですが。

ファイルにはテキストであるかバイナリであるかという区別は基本的に無い
ので、難しいです。
UnicodeのテキストファイルはNULLのバイトが出現します。

[ ]
RE:04976 NULLコードの扱いについてNo.04989
Dai さん 00/02/18 00:12
 
EMiCC殿、レスポンス有り難うございました。

>バイナリーファイルというファイルの種類はありません(すべてのファイル
>がバイナリーファイルともいえる (^_^; )ので、これは不可能でしょう。

まったく無知なもので。
ご指摘有り難うございました。

[ ]
RE:04979 NULLコードの扱いについてNo.04990
Dai さん 00/02/18 00:17
 
秀丸担当殿、さっそくの回答ありがとうございました。

>>NULLコード(0x00)が混じっているファイルを秀丸(Ver.3.04)で開いたところ、
>>NULLコードがスペース(0x20)に変換されます。
>>また、このままファイルをセーブすると、NULLコードがスペースに変換され
>>たままセーブされます。
>
>これは、秀丸の仕様です。
>他にも改行コードを自動判断して統一していますし、EUCやJISの自動判断を
>している場合、変換されてしまうので、バイナリの編集・保存はできません。

バイナリの編集・保存ができない件、仕様ということで理解いたしました。
しかし、使い手が意識することなく自動で変換してしまうというのは、私
自身の意見としては好ましくありません。できればファイルを開けないか、
はっきりと何か変と判る形の方が間違いがなくていいのですが。
確かにWindows標準のメモ帳についてもNULLはスペースに変換しているよう
に見えますし、他にもエディタによって解釈が異なるように思えます。

もし意識的にNULLをスペースに変換しているようでしたら、他の自動に変換
しているコードについても一緒に、Helpなどに記載して頂くと非常に親切だ
と思います。

# 既に記載、または仕様が公開されていたら申し訳ありません。

なにか、無理難題な事を言ってしまったようで申し訳ありませんでした。
秀丸は非常に気に入っていますので、これからも存分に使わせて頂きます。


[ ]
RE:04990 NULLコードの扱いについてNo.05024
秀丸担当 さん 00/02/21 15:51
 
>もし意識的にNULLをスペースに変換しているようでしたら、他の自動に変換
>しているコードについても一緒に、Helpなどに記載して頂くと非常に親切だ
>と思います。

NULLや改行などを、バイナリレベルで元のまま保存することは、いまの
ところ内部的な処理の都合もあり、できません。
ヘルプに記載しておきます。

[ ]