From: Tanaka Akira Date: 2008-01-15T19:08:24+09:00 Subject: [ruby-dev:33122] Re: Binary String In article <20080115.024201.41653719.nagai@ai.kyutech.ac.jp>, Hidetoshi NAGAI writes: > 以下は「推測」とは別の話なので > 一例になるのかよく分からない点もありますが, 具体的な問題の例はありませんか? たとえば、「LANG=xxx で ruby -e 'yyy' とすると foo になるの だけれどもそこは bar になってもらわないと困る」というような。 > Tk が認識 or 保持しているデフォルトの encoding は > そのユーザの GUI 環境において普通の encoding であり, > 通常はその encoding を使っているというように推測するのは > さほどおかしな事とは思えません. > Ruby の default_external が未定義の状態にある場合にのみ > (識別できるなら「未定義」の文字列に対してのみ) > Tk のデフォルトを参照しようということですので, > 問題はないと考えます. 私が述べた MIME の例についてはどうですか? > なぜ binary であることを示す identity が外されているのでしょうか? > generic/tclEncoding.c で initial encoding の筆頭で定義されています. おぉ、そんなところに。 私があげた中にないのは私が眺めたのが tcl 8.5.0 の library/encoding/ だからです。library/encoding/ に identity はありませんよね。 > 他の encoding の alias ではない形での identity も含めて > 定義していただけるなら,幸せになれます.(^_^) > Tk 上で「binary である」と規定されている identity を, > Ruby 上で「binary であるとは限らない」とされている > ASCII-8BIT の alias として定義されてしまうのは困ります. 検索してみたところ http://wiki.tcl.tk/2616 に | schlenk 2005-06-27: The identity encoding is for testing | purposes, it should not be used without very good reasons. という記述があります。この記述がどの程度信用できるのかはわか らないのですが、identity が binary であるという規定も見つけ られませんでした。tcl 8.5.0 と tk 8.5.0 の doc/ は探したので すが、identity に関する記述はほとんど見当たらず、binary であ るという記載はないように思います。 identity が binary と規定されているというのはどこに書いてあ るのでしょう? > え〜っと,ASCII-8BIT 以外は「未定義」ではないのですよね? > スクリプトの encoding は明示するようにするのが基本で, > 明示がなければ default_external とする (これは未決定?) のですよね? > で,default_external は encoding が決定できない場合のみに > ASCII-8BIT に設定され,その場合に encoding を指定せずに生成した > 文字列のみが「未定義」となる (ASCII-8BIT を明示した文字列は「定義済」) > というように考えていたのですが,間違っていますか? どうなんでしょう。永井さんのいう「未定義」と「定義済」という 言葉を正確に理解している気がしないのでよくわかりません。 私は、永井さんが tk でシステムエンコーディングによる変換を行 うか行わないかの区別をするための情報を欲していることは理解し ています。 その区別は、tk に渡すとわかっている文字列については問題なく 判別できるでしょう。 しかし、tk のことを考えていない状況で生成する文字列でも、そ れが充分に容易であるという確信は持てません。 > # 私がはっきりしていないばかりに, > # 二種類の対応策についての議論が明確に切り分けられずに進んでいて, > # 混乱した状態になってしまっているのかも... おわかりだとは思うのですが、永井さんの期待する方向に私は前向 きではありません。 具体的な個々の問題について、(おそらくは永井さんの期待とは異 なる方向で) 解決をはかることには前向きです。 -- [田中 哲][たなか あきら][Tanaka Akira]