[Gauche-devel-jp] Gauch****@sf*****のアーカイブ (1/4) 再トライ

アーカイブの一覧に戻る

Shiro Kawai shiro****@lava*****
2002年 9月 17日 (火) 19:10:49 JST


gauch****@lists*****で交わされた議論のdigestです。
アーカイブのために、こちらにも投げておきます。 --Shiro

====
Subject: [Gauche-devel-jp] 「ネイティブエンコーディング」に関して確認事項
From: karaa****@dream*****
To: gauche-devel-jp <gauch****@lists*****>
Date: Sun, 15 Sep 2002 01:18:18 +0900
User-Agent: Wanderlust/2.8.1 (Something) SEMI/1.14.3 (Ushinoya) FLIM/1.14.3 (Unebigoryōmae) APEL/10.3 Emacs/21.3.50 (powerpc-apple-darwin5.5) MULE/5.0 (SAKAKI)


とりあえずMLもできた事ですし、こちらに投げてみます。
# MLの提案記述したのもわしだし、、

一つ確認しておきたいのですが、download-j.htmlなどに記述のある「ネイティ
ブエンコーディング」という単語の意味は、プログラム(Gauche)が日本語文字
列をメモリ上などで処理する時の文字コードとの理解でよいでしょうか?

普通はそういう意味だとおも��のですが、単純に確認しておきたいと、、

この認識でただしいならば
euc-jp、utf-8、sjis、no 

でnoの時文字コードがなになのかちょと調査してないのですが、あきらかに
utf-8は仲間はずれだとおもうのですが、、
# iso-2022-jpがない程度には、、


----  
(。�゜) からあげうまうま
mailto:karaa****@dream*****
====
Subject: [Gauche-devel-jp] Re: [Gauche-devel-jp] 「ネイティブエンコーディング」に関して
From: KIMURA Shigenobu <skimu****@mac*****>
To: karaa****@dream*****
Cc: gauche-devel-jp <gauch****@lists*****>
Date: Sat, 14 Sep 2002 18:00:59 -0500
X-Mailer: Apple Mail (2.543)

文字コードのことはほとんど知らないですが、

On 2002.Sep.14, at 11:18 US/Central, karaa****@dream***** wrote:
> 文字列をメモリ上などで処理する時の文字コードとの理解でよいでしょうか?
>
> この認識でただしいならば
> euc-jp、utf-8、sjis、no
> でnoの時文字コードがなになのかちょと調査してないのですが、あきらかに
> utf-8は仲間はずれだとおもうのですが、、

no はマルチバイト文字の処理をしないといういみだと思います。
つまり文字列はバイト列と同じ。

utf-8 が仲間はずれな理由を説明してもらせませんか?
僕には文字列処理(文字や部分文字列をとってきたり、挿入したりする操作を考えてます)
はどれも同じよ��なものだと思っていましたが。。。
; ASCII の範囲ならばどのコーディングでも文字列のバイト並びは同じですし。
; あ、utf-8 は任意のバイトを見てそれがマルチバイト文字の何バイト目かが
; 判別できるんでしたっけ?

あと、「おもうのですが、、」の続きが知りたいです。

木村 栄伸

====
Subject: [Gauche-devel-jp] Re: [Gauche-devel-jp] 「ネイティブエンコーディング」に関して確認事�
From: Shiro Kawai <shiro****@lava*****>
To: karaa****@dream*****
Cc: gauch****@lists*****
Date: Sat, 14 Sep 2002 14:24:34 -1000 (HST)
X-Mailer: Mew version 2.2 on XEmacs 21.4.6 (Common Lisp)

Shiroです。
文字コードの世界はちゃんと理解しているわけではないので、
間違っていたら突っ込んで下さい。

From: karaa****@dream*****
Subject: [Gauche-devel-jp] 「ネイティブエンコーディング」に関して確認事項
Date: Sun, 15 Sep 2002 01:18:18 +0900

> 一つ確認しておきたいのですが、download-j.htmlなどに記述のある「ネイティ
> ブエンコーディング」という単語の意味は、プログラム(Gauche)が日本語文字
> 列をメモリ上などで処理する時の文字コードとの理解でよいでしょうか?

Gaucheで用いている文字列内部の符号化法(character encoding scheme)
ということです。

> この認識でただしいならば
> euc-jp、utf-8、sjis、no 

noは置い��いて、euc-jp, utf-8, sjisはどれも符号化法である
という意味では同レベルだとは思います。ただしそれぞれ、
対象とする符号化文字集合が異なります。

  符号化法 euc-jp→文字集合 ASCII, JISX0201, JISX0213 or JISX0208+JISX0212
  符号化法 sjis  →文字集合 JISX0213 (*)
  符号化法 utf-8 →文字集合 ISO10464

'no' は一文字8ビットで符号化するという符号化法を総称します。
符号化文字集合はJISX0201(*)だろうがISO8859-xだろうがGauche
は気にしません。

文字列から文字を取り出した時にどう表現されるかというのが
ドキュメントでは明確に定義されていないため、それが混乱のもとなの
かもしれません。文字列の符号化法がutf-8の場合は文字の
符号化法はUCS-4に準じます。euc-jpまたはsjisの場合は、
符号化された文字が1バイトの場合はそれをLSBとし、
符号化された文字が2バイトの場�は (第一バイト*256 + 第二バイト)
符号化された文字が3バイトの場合は (第一バイト*65536 + 第二バイト*256 + 第3バイト)
としたコードを文字オブジェクトの値に使っています。
(こういう符号化法に名前があるのかどうかはわかりません)

今までのところ、Gaucheの内部処理で必要な情報は主に符号化法
であって、実はそれがどの文字集合を扱っているかはあまり
関係がないのです。但し、プログラムテキストの解釈をする
ために、7bitで表現できる範囲がASCIIであるという仮定だけ
置いています(*)。

今のままだとchar-upper等がASCIIの範囲しか動作しないため、
本来は文字集合まで考慮に入れた処理を行わなければならないの
ですが、うまい形が見えていません。

(*) なお、困ったことにShift-JISのコード0-127の範囲は
JISX0201なので、厳密に解釈すると0x5cと0x7eがASCII�
異なるのですが、GaucheではASCIIの該当文字として扱っています。

--shiro

====
Subject: Re: [Gauche-devel-jp] Re: [Gauche-devel-jp] 「ネイティブエンコーディング」に関して
From: karaa****@dream*****
To: gauche-devel-jp <gauch****@lists*****>
Date: Sun, 15 Sep 2002 10:20:02 +0900
User-Agent: Wanderlust/2.8.1 (Something) SEMI/1.14.3 (Ushinoya) FLIM/1.14.3 (Unebigoryōmae) APEL/10.3 Emacs/21.3.50 (powerpc-apple-darwin5.5) MULE/5.0 (SAKAKI)

失礼��Reply-Toが本人のアドレスになっていたので直でメイルしてしまいまし
た。

# あと正直この規模のMLでToにMLアドレスccに投稿者アドレスされると
# だぶってメンドクサイですのでMLだけにポストしていただけるとありがたい
# です。


At Sat, 14 Sep 2002 18:00:59 -0500,
KIMURA Shigenobu wrote:
> 文字コードのことはほとんど知らないですが、
> > 文字列をメモリ上などで処理する時の文字コードとの理解でよいでしょうか?
> > この認識でただしいならば
> > euc-jp、utf-8、sjis、no
> > でnoの時文字コードがなになのかちょと調査してないのですが、あきらかに
> > utf-8は仲間はずれだとおもうのですが、、
> no はマルチバイト文字の処理をしないといういみだと思います。
> つまり文字列はバイト列と同じ。
Shiroさんのメイルで概要はわかりました。

> utf-8 が仲間はずれな理由を�明してもらせませんか?
聞いた事があるかどうか不明ですが、HTMLはiso-2022-jpで記述しなさい、とか
メイルはiso-2022-jpで送信しなさいとかあります。

sjisでHTML書くと文字コードにうるさい人は眉をしかめます。
それはなぜか理由をしっているならわかるはずです。

内部コード、外部コードがどうちがうかなどを認識が必要です。

またEUCといっても内部用にはEUC 2-byte complete format
外部用にはEUC packed formatがある事をしっていますか?

なぜ内部、外部を分割するかを認識いただければ幸いです。

> 僕には文字列処理(文字や部分文字列をとってきたり、挿入したりする操作を考えてます)
> はどれも同じようなものだと思っていましたが。。。
> ; ASCII の範囲ならばどのコーディングでも文字列のバイト並びは同じですし。
> ; あ、utf-8 は任意のバイトを見てそれがマルチバイト文字の何バイト目かが
> ; 判別できるんでしたっけ?
...文字コード勉強してください。

> あと、「おもうのですが、、」の続きが知りたいです。
理由がしりたいです、といった感じで理解してください。

----  
(。�゜) からあげうまうま
mailto:karaa****@dream*****



Gauche-devel-jp メーリングリストの案内
アーカイブの一覧に戻る