|
はじめまして。はっく と申します。
秀丸エディタをもう10年以上使用しております。購入当時はこれほど長い付き合い
になるとも思っておらず、ちょっと高いかとか考えたのが嘘のようです。
今回、パソコンのOSをWindows xpから、Windows 7にしたのですが、Windows 7で使用
するために秀丸エディタを4.19から8.00に入れ換えました。
そこで気づいたのですが、動作環境の上級者向け設定にある、エンコード1の設定項
目で、ファイルの内容を解析してエンコードの種類を自動認識する、の「Unicode(UT
F-16)」のチェックを外して、かつ「UnicodeのBOMを認識」のチェックを外している
と、grepの動作がおかしくなるようです。
これまで使っていたマクロが動かなかったため、いろいろ調べてみたところ、どうや
ら被検索文字列がDLLに対してUTF-16で送信されているために、検索文字列のASCII文
字列と一致しなくなってしまうようです。
たとえば、 ABCDEF から CDE を検索すると、(\0)A(\0)B(\0)C(\0)D(\0)E となって
しまい、NULL文字(\0)がスペース( )に置き換えられて" A B C D E"となります。結
果、一致しなくなるようです。
もちろん、" C D E"を検索すると一致します。
ちなみに、Windowsのメールファイルである、emlファイルを大量にくっつけたファイ
ルから特定のヘッダを検索するマクロですから、元のファイルがUTF-16ということは
ありません。ASCIIかJIS、またはそれ以外のASCIIベースのエンコードです。
フォーラムの書き込みや、フォーラムの過去ログもいろいろと調べてみたのですが、
探し方が悪いのかぜんぜんみつからず、4〜5時間悩んでしまいました。
ともかく、とりあえず報告いたします。よろしくおねがいします。
|
|