namazu-ml(ring)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: namazu-1.4.0.0-beta-3



From: Toshio Uchiyama <uchiyama@xxxxxxxxxxxxxxxxxxxxxxxx>
Subject: [namazu 377] Re: namazu-1.4.0.0-beta-3
Date: Fri, 5 Mar 1999 13:18:46 +0900

  | > つまり、EUCの"鯵"を"\260\263"に変換するフィルタを通して
  | > コンパイルするようにしてはどうでしょう。
  | > #VCのことは全く知りませんので、はずしたらごめんなさい。
  | > 
  | 
  | \206\263 ってなんですか。コード体系で規定できているものでしょうか。
  | 昔より気になってたんですが。
  | よろしかったら お教えください。

あんまり詳しいことは知らないのでボロが出るかもしれません。

(1) coding systemのこと

    日本語文字集合とASCII文字集合を1つのファイルに共存させるために
    EUCとかSJISとかISO-2022-JPとか、いろいろコーディング方式があります。

    「鯵」という字は、(本当はどう呼ぶのが正しいのか不勉強なため
    知りませんが) 1バイト目が 0x30、2バイト目が 0x33 です。
    この字をメイルで使われている ISO-2022-JP 方式でエンコードすると

        ESC  $  B  0  3  ESC  (  B

    と表現されます。EUC では日本語の各バイトの MSB(8bit目) を
    1 にすることでASCII 文字とは違うことを指示し、
    「鯵」という字をEUCでエンコードすると
    1 バイト目が '0'|(1<<7) で 2バイト目が '3'|(1<<7) になります。
    つまり 0xb0, 0xb3 です。

    coding systemのことについてはmuleのinfoから知っただけなので
    これ以上はつっこまないでください。
    
(2) Visual Cのこと

    VC は MS 製品なのでたぶん文字列リテラルのところには
    SJIS でエンコードした日本語文字を入れられると思いますが、
    EUC でエンコードした文字をダブルクォーテーションで囲んだら
    (SJISだと思い込んでいるであろう) VC はぶっとぶと思います。

    そこで VC が EUC でエンコードした日本語をコンパイルできるように
    "鯵" と書かずに "\xb0\xb3" と書いてあげよう、ということです。

    C言語では、数値エスケープシーケンスは 16 進と 8 進の両方があるので
    先のメイルでは "\xb0\xb3" の代りに "\260\263" と書きました。

--
KOIE Hidetaka 鯉江英隆 <hide@xxxxxxxx>