◀一般トップへ
  • 1924 UTF-7障害
    • 1926 Re: UTF-7障害
      • 1928 Re2: UTF-7障害
  • [1924] UTF-7障害 村上 2002年05月24日 19:00

    はじめまして、村上といいます。
    サクラエディタ使わせて頂いています。

    C言語のプログラムをかじっているのですが、
    そのなかで、ソースコード上"+len-"の文字列が入っている
    S JISファイルを作ったところ、開く時にはUTF-7と認識し
    ソースコード上で"髟"と表示されます。
    コンパイルエラーになるまで気付きませんでした。
    ■ 文字コード判別不具合(SJISをUTF-7に)
    という事で、修正済みということでしたが、
    現在使用しているのは1.2.107.2版です。

    もしよろしければ、「文字コード判別不具合」の件
    再調査していただけませんでしょうか?

    よろしくお願いします。

    • [1926] Re: UTF-7障害 げんた 2002年05月24日 20:18

      >"+len-"の文字列が入っている
      >S JISファイルを作ったところ、開く時にはUTF-7と認識し
      このエディタの自動判別ではそれぞれの文字コードと仮定して得点を付け、もっとも得点の高かったコードを採用します。日本語が含まれている場合は大抵そちらのコードに加点されるのでこういう問題は無いのですが、1バイト文字のみで構成されたファイルにこういうのがあると他の文字コードが0点でUTF-7にのみ加点されてしまい、結果としてUTF-7と認識されます。

      回避するためには + len - と演算子の前後に空白を入れてください(^^;) +len- のように変数名と演算子をくっつけて書くのは見にくくなるのでおすすめしません。くっつけると*がポインタか乗算かわかりにくくなるし。a***bではなくa * **b と書くべき。

      このエディタのソースもほとんど演算子の前後には空白が入っているはず。(というか、みなさんそうしてください)
      • [1928] Re2: UTF-7障害 村上 2002年05月25日 00:58

        ▼ げんたさん
        > >"+len-"の文字列が入っている
        > >S JISファイルを作ったところ、開く時にはUTF-7と認識し
        > このエディタの自動判別ではそれぞれの文字コードと仮定して得点を付け、もっとも得点の高かったコードを採用します。日本語が含まれている場合は大抵そちらのコードに加点されるのでこういう問題は無いのですが、1バイト文字のみで構成されたファイルにこういうのがあると他の文字コードが0点でUTF-7にのみ加点されてしまい、結果としてUTF-7と認識されます。
        >
        > 回避するためには + len - と演算子の前後に空白を入れてください(^^;) +len- のように変数名と演算子をくっつけて書くのは見にくくなるのでおすすめしません。くっつけると*がポインタか乗算かわかりにくくなるし。a***bではなくa * **b と書くべき。
        >
        > このエディタのソースもほとんど演算子の前後には空白が入っているはず。(というか、みなさんそうしてください)

        げんたさん解説ありがとうございます。
        今後のソース書きで注意します。