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>