[#32945] Shift_JIS variants and UTF-16 support — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

22 messages 2008/01/07
[#32953] Re: Shift_JIS variants and UTF-16 support — Martin Duerst <duerst@...> 2008/01/07

中村さん、こんにちは。

[#32955] Re: Shift_JIS variants and UTF-16 support — Yukihiro Matsumoto <matz@...> 2008/01/07

まつもと ゆきひろです

[#32959] Re: Shift_JIS variants and UTF-16 support — "NARUSE, Yui" <naruse@...> 2008/01/07

成瀬です。

[#32960] Re: Shift_JIS variants and UTF-16 support — Yukihiro Matsumoto <matz@...> 2008/01/07

まつもと ゆきひろです

[#32992] ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — "NARUSE, Yui" <naruse@...>

成瀬です。

18 messages 2008/01/08
[#32994] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — Yukihiro Matsumoto <matz@...> 2008/01/09

まつもと ゆきひろです

[#32995] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — Martin Duerst <duerst@...> 2008/01/09

At 18:13 08/01/09, Yukihiro Matsumoto wrote:

[#33011] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — "NARUSE, Yui" <naruse@...> 2008/01/11

成瀬です。

[#33012] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — Yukihiro Matsumoto <matz@...> 2008/01/11

まつもと ゆきひろです

[#33014] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — "NARUSE, Yui" <naruse@...> 2008/01/11

成瀬です。

[#33015] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — Yukihiro Matsumoto <matz@...> 2008/01/11

まつもと ゆきひろです

[#33239] Re: [ruby-cvs:22386] Ruby:r15149 (trunk): * string.c (rb_str_each_char): move forward. — Tanaka Akira <akr@...>

In article <200801210259.m0L2x3CW017171@ci.ruby-lang.org>,

11 messages 2008/01/21
[#33240] Re: [ruby-cvs:22386] Ruby:r15149 (trunk): * string.c (rb_str_each_char): move forward. — Nobuyoshi Nakada <nobu@...> 2008/01/21

なかだです。

[#33303] Time#strftimeのエンコーディング — rubikitch@...

るびきちです。

13 messages 2008/01/23
[#33305] Re: Time#strftimeのエンコーディング — Yukihiro Matsumoto <matz@...> 2008/01/23

まつもと ゆきひろです

[#33368] summary of script encoding — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

22 messages 2008/01/25
[#33375] Re: summary of script encoding — Yukihiro Matsumoto <matz@...> 2008/01/25

まつもと ゆきひろです

[#33376] Re: summary of script encoding — "U.Nakamura" <usa@...> 2008/01/25

こんにちは、なかむら(う)です。

[#33387] HashからStructを作る — rubikitch@...

るびきちです。

19 messages 2008/01/25
[#33455] Re: HashからStructを作る — Yukihiro Matsumoto <matz@...> 2008/01/28

まつもと ゆきひろです

[#33505] Re: HashからStructを作る — rubikitch@... 2008/01/29

From: Yukihiro Matsumoto <matz@ruby-lang.org>

[#33507] Re: HashからStructを作る — Yukihiro Matsumoto <matz@...> 2008/01/29

まつもと ゆきひろです

[#33508] Re: HashからStructを作る — rubikitch@... 2008/01/29

From: Yukihiro Matsumoto <matz@ruby-lang.org>

[#33433] Win32OLE: set encoding to OLE string — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

16 messages 2008/01/28

[#33461] Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — MORITA Hideyuki <h-morita@...>

=1B$B?9ED$H?=3D$7$^$9!#=1B(B

19 messages 2008/01/28
[#33473] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — Nobuyoshi Nakada <nobu@...> 2008/01/28

なかだです。

[#33503] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — MORITA Hideyuki <h-morita@...> 2008/01/29

森田です。

[#33514] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — Nobuyoshi Nakada <nobu@...> 2008/01/29

なかだです。

[#33518] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — MORITA Hideyuki <h-morita@...> 2008/01/30

森田です。

[#33545] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — Ryutaro Amano <wn9r-amn@...> 2008/01/31

天野竜太郎と申します。

[#33546] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — MORITA Hideyuki <h-morita@...> 2008/01/31

森田です。

[#33547] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — Ryutaro Amano <wn9r-amn@...> 2008/01/31

天野です。

[#33551] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — MORITA Hideyuki <h-morita@...> 2008/01/31

森田です。

[#33488] 現在の script encoding の値を得る方法は? — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

20 messages 2008/01/29
[#33491] Re: 現在の script encoding の値を得る方法は? — Yukihiro Matsumoto <matz@...> 2008/01/29

まつもと ゆきひろです

[#33500] Re: 現在の script encoding の値を得る方法は? — Hidetoshi NAGAI <nagai@...> 2008/01/29

永井@知能.九工大です.

[#33501] Re: 現在の script encoding の値を得る方法は? — "NARUSE, Yui" <naruse@...> 2008/01/29

成瀬です。

[#33515] Re: 現在の script encoding の値を得る方法は? — Hidetoshi NAGAI <nagai@...> 2008/01/30

永井@知能.九工大です.

[#33516] Re: 現在の script encoding の値を得る方法は? — "NARUSE, Yui" <naruse@...> 2008/01/30

成瀬です。

[#33519] Re: 現在の script encoding の値を得る方法は? — Hidetoshi NAGAI <nagai@...> 2008/01/30

永井@知能.九工大です.

[#33522] Re: 現在の script encoding の値を得る方法は? — "NARUSE, Yui" <naruse@...> 2008/01/30

成瀬です。

[ruby-dev:33479] Re: Binary String

From: Hidetoshi NAGAI <nagai@...>
Date: 2008-01-28 15:56:28 UTC
List: ruby-dev #33479
永井@知能.九工大です.

From: "NARUSE, Yui" <naruse@airemix.com>
Subject: [ruby-dev:33402] Re: Binary String
Date: Sat, 26 Jan 2008 14:12:04 +0900
Message-ID: <479AC12B.1000801@airemix.com>
> > # $KCODE を使うように,必要なメソッドをすべて wrap するというのは
> > # あまりにも労力が割に合わないので,当然考えてはおられませんよね?
> 
> そこまでしなくても、-Ke を指定すれば 1.9 のメソッドは対応しますから。

あぁ,なるほど.そういう意味ですか.了解です.

> > ライブラリが元々ブロックを受け取ることができる仕様になってなければ
> > どうしようもないように思えるのですが...
> > ライブラリ「内」でそうした対応を行わせるためには,
> > そのライブラリに手を入れるしかないですよね.
> > 私がまた何か勘違いしているのでしょうか?
> 
> ブロックを受け取るメソッドの話です。

ではその件は今は除外しておきませんか?
問題となっているライブラリがそうそう都合良く
問題を解消できるようなブロックを受け取ってくれる仕様に
なっているとは考えづらいし,議論がどんどん発散してしまいますので.

> あとそういえば、Ruby は Open Class なので、外からライブラリのメソッドを
> 書き換えてしまうという手もあったりはしますね。

まぁ,ライブラリの中身が分かっていればですね.

> > ごめんなさい.nkf は単なる例なのでさして重要ではありません.
> > 1.8 由来のライブラリ内部で nkf などの別の文字列処理ライブラリなり
> > 組み込みメソッドなりを呼び出す際,
> > その 1.8 由来のライブラリは encoding なんてものを知りませんから
> > 何らかの encoding を仮定 or 想定して文字列を生成し,処理を依頼します.
> > このとき encoding が指定されてはいないし,
> > magic comment なんかも入っていませんから,
> > ASCII-8BIT で文字列が生成される可能性が高いのですよね?
> 
> nkf の例で何を指そうとしているのかがよくわからないのですが、
> エンコーディングを参照しながら何かするライブラリという趣旨ですか?
> nkf では特殊すぎて例として不適切な気がします。

encoding を仮定した処理を行う可能性があるもの,
与えられた encoding 情報に基づいて処理を行う可能性があるもの,
encoding の変換を行う可能性があるもの,といった類いのライブラリを
ひとまとめにして総称的に「nkf のようなもの」と書いてました.
変な書き方で混乱させてしまい,すみません.

前のメールでの話は [ruby-dev:33285] で

From: "NARUSE, Yui" <naruse@airemix.com>
Subject: [ruby-dev:33285] Re: Binary String
Date: Wed, 23 Jan 2008 03:52:12 +0900
Message-ID: <47963B63.7040108@airemix.com>
> 若干ここの仮定がおかしいように思います。その「手の届かないライブラリ内
> 部」はすべて encoding 非対応なので、encoding が設定されている必要はない
> でしょう。encoding が必要になるのは手が届くところまで来てからですから、
> そこで設定してあればよのです。
> 
> あとは、ライブラリにブロックを渡すなりしてライブラリ中で処理するか、オブ
> ジェクトを受け取ってから設定するかすれば。
> 
> > また,UNDEFINED-8BIT で返されたならば,
> > 他の encoding の場合と違って Ruby 1.9 としての処理の結果の
> > 必然として得られたものではないということが分かります.
> > それが分かれば好きなように料理することができます.
> 
> encoding 非対応のライブラリが返してきた時点で必然の結果得られたものでは
> ないことが分かります。
> 
> > UNDEFINED-8BIT のようなものが存在しなければ,
> > ブラックボックスの戻値はすべて同じ encoding であると
> > 推定するしかありません.
> 
> 以上の通りなので、この仮定が否定されます。

と述べられていることに対して,
「必ずしもそうではないのでは?」ということで
場合分けしてみたものです.

> > 1.8 版で 1.8 的に動作するもの (encoding を利用するような 
> > (中略)
> > ライブラリの想定 encoding に合わせて
> > 戻ってきた文字列に対して force_encoding すれば
> > 確かになんとか対処できるでしょう.
> 
> -Kn をつけているケースではそうだと思います。-Ke 等をつけていると少々話は
> 変わるかもしれません。

なるほど.それによる違いもありますね.

> > 見落としがありそうな気もしていますが,
> > UNDEFINED-8BIT + default_undefind なら
> > 上記のすべてをかなりの確率で救済できそうな気がします.
> 
> これで救済できるのは、文字単位での処理か、バイト単位での処理か、どちらか
> に統一されているケースに限ると思います。そのようなケースでは、エンコー
> ディング未指定で生成された文字列を -K で指定されたエンコーディングにして
> しまった方がスマートでしょう。

「nkf のようなもの」が種々のケースをひとまとめにしてることもあって
成瀬さんが述べられているケースには限らないというようにも思いますが,
UNDEFINED-8BIT は動的に変更可能な -K に近いものであるというのは
確かにその通りかもしれません.
で,-K で救えない範囲は諦めてもらってもいいのではないかというのも
それでは困るという具体例が出てこない限りは強く否定もできません.
これ以上,「可能性」で議論しても不毛なようですので,
具体的に困ったという声が出ない限りは提案を取り下げます.

それはそれとしてですが,
「成瀬さんが述べられているケースには限らない」の例として,
Ruby/Tk で binary と utf-8 や euc-jp が混在して返される
(1.8 版での処理のため,すべて ASCII-8BIT になってしまう) 
というものがありました.
この Ruby/Tk が今回の「ライブラリ」または「nkf のようなもの」の
位置付けであった場合,成瀬さんであればどのような対応方法を
選択されるでしょうか?
これは純粋に興味としての質問であって,
何かを導入してくれという話ではありませんのでご心配なく.(^_^)
-- 
                                       永井 秀利 (九工大 知能情報)
                                           nagai@ai.kyutech.ac.jp

In This Thread