[#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:33329] Re: Binary String

From: "NARUSE, Yui" <naruse@...>
Date: 2008-01-23 15:05:47 UTC
List: ruby-dev #33329
成瀬です。

Kouhei Sutou wrote:
> そのPerlのuse utf8;相当のものが1.9のmagic commentというものに
> あたると思っていたのですが、違うのでしょうか?で、magic
> commentがついていないものはASCII-8BITになると思っていました。
> 
> そしてASCII-8BITがバイト列として(バイト列っぽく?)扱われる
> のかなぁと思っていたので、1.9でも

str[] あたりの挙動が変わっているというのと、端から端まで ASCII-8BIT で統
一しないとややこしくなるわけですが、Ruby 1.9 は magic comment を書かなく
ても Encoding.default_external が ロケールなので、LANG=C 以外だと外から
入ってきたデータは ASCII-8BIT になります。

LANG=C だったとしても、transcode も nkf も iconv も通すと変換結果の
string に encoding をつけるので、これにも気をつけないといけません。

>> 端的にいえば、Perl の文字列とは utf8 フラグのついたバイト列のことだった
>> わけですが、デフォルトではつかなかったので、最初から最後までバイト列で通
>> してしまうということができました。
> 
> ということになって、既存のプログラムもそれっぽく動くのかなぁ
> と思いました。(ASCII-8BITがバイト列として扱われるというのが
> 間違い?)

というわけで、端から端まで ASCII-8BIT で統一できれば、str[] とかを踏まな
ければ動くのでしょうが、難しいように感じます。

>>>> そもそも 1.8 でも文字絡みの部分はちょくちょく変更入ってますからねぇ。nkf
>>>> が 1.7 から 2.0 になったりとか。
>>> これは1.8.x間で互換性が失われている、つまり、既存のプログラム
>>> が動かなくなるかもしれないということでしょうか?
>> Ruby変更履歴が参考になりますかね。
>> http://www.ruby-lang.org/ja/man/html/Ruby_CAD1B9B9CDFACEF2.html
> 
> nkf関連の変更は以下のようですが、これの影響で1.8.x間で互換性
> が失われているのでしょうか?
> 
> ruby 1.8.2 feature:
> 
>   2004-11-20
> 
>   ext/nkf/nkf-utf8/ [lib] [new]
> 
>       utf8 対応 nkf (nkf 2.x) の追加。
> 
>   2004-12-04
> 
>   NKF.guess [lib] [compat]
> 
>       NKF.guess は NKF.guess2 の alias になりました。 従来のものを使いたい場合は NKF.guess1 を使って下さい。

guess の戻り値が増えたり、変換表が微妙に変わったりしていますね。派手な変
更は入れる前に ML に出しているのでログを見てみるといいかもしれません。

> 気になったのはnkfの1.7->2.0が非互換性を生んでいるのかというこ
> とでした。もう少し言えば
> 
>>>> そもそも 1.8 でも文字絡みの部分はちょくちょく変更入ってますからねぇ。nkf
>>>> が 1.7 から 2.0 になったりとか。
> 
> が何を言いたいのかがわからなかったということでもあります。私
> には「もう1.8.x間で非互換性があって動かないプログラムがあるん
> だから、1.8/1.9間でも動かなくていいじゃん?」みたいに読めて
> しまったので、「そんなことないよね?」と確認したかったんです。

Ruby が 1.8 の間互換性に重きを置いていたかというと、実際はそうでもなかっ
た、と。で、それ以上に 1.9 での変更は大きいので、手を入れなくても動くも
のは少ない。ゆえに動かなかったら手を入れてください、というところですかね。

> せっかくなので、ついでにStringについても見てみたのですが、互
> 換性が失われそうな記述は見つけられませんでした。1.8.x間では
> なく1.8<->1.9の話でしょうか?

jcode.rb あたりが変わっていたような、すいません、1.9と混同してるかも。

> # これは関係ないですが、
> 1.9でのStringの非互換性はString#[Integer]がIntegerではなく
> Stringを返すことが一番大きいと思っているのですが(eachとかも
> ありますけど)、そのときは
> 
>   if string[0] == ?a
> 
> とか書いていると思うので、あまり変なことをしていない1.8で動い
> ていたやつが1.9でもそれっぽく動くのでないかと思っています。
> 例えば、テキスト処理をしているHikiDocというやつは何もしなく
> てもそれっぽく動いている気がします。
> (tDiaryは変なことをしているやつだと思う。)

意外と CGI とかは動きやすいかなーという気はしますね、LOCALE が C でしょ
うから。どちらかというと、端末だと locale が絡むので encoding 絡みの問題
が顕在化しやすいように思います。

-- 
NARUSE, Yui  <naruse@airemix.com>
DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA

In This Thread