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

From: 遊楽庵 <yu_raku_an@...>
Date: 2008-01-23 17:17:46 UTC
List: ruby-dev #33335
遊楽庵です。

Tanaka Akira さんは書きました:
> In article <47974018.2050207@yahoo.co.jp>,
>   遊楽庵 <yu_raku_an@yahoo.co.jp> writes:
> 
> 
> 具体的にはどう困るんでしょう?
計算がすっきり書けません。
文字列とバイト列がレイヤの違う話なのはわかりますし、
排他的だとも思っていません。
ただ、Stringの文字列への傾斜があまりにも過激なので
バイナリデータはどうなっちゃうの??
と思っています。
要するに「バランス悪くない??」という感じでしょうか。

桐生さんの例を引くまでもなく、バイナリデータをファイルから
読み込んで計算をするという処理は一般的だと思うのです。
String#[]まで文字列になって
それをすっきり書く方法はなくなってしまいました。

いくつかStringをバイト列としてアクセスする方法の案が出てましたが
バイナリデータを処理するとなったとたん、Rubyらしからぬゴチャゴチャした
コードになっちゃいそうで…

田中さんの「レイヤ」というキーワードで思いついたのですが、
いっそのことその概念のレイヤをクラス階層で表現しちゃったらどうでしょうね。
Stringの親に「ByteTrain」というクラスを入れて、バイト列を表現する。
ByteTrain#[]は整数値を扱います。
で、バイナリファイルを読み込んだ時にはStringではなくこっちを使う。
テキストの時はStringでよい。
Stringの親に入れるので、IO#readの戻り値はByteTrainのオブジェクトだよ
ということで統一はそれなりに取れるでしょう。
encoding関連のメソッドは定義のみしておけば、encodingを使ってもそれなりに
処理できます。
encoding参照にはnilを返し、設定には何もしない。

こんなのどうでしょうね。そしたらStringは心置きなく文字列を追求できるし
バイナリデータも幸せになれます。
String#bytesではByteTrainオブジェクトを返せばいいでしょう。

もっとも、スクラッチから考えてよければ、このByteTrainをStringクラスにし
て、encoding処理の入った1.9のStringはその子クラスにして「Text」とでも
名前をつけたいところですが。

> 
> バイト列と ASCII-8BIT な文字列は両方ともなにか 256種類のもの
> が 0個以上並んでいるという構造なので、過不足なく対応づけるこ
> とは容易です。
> 
> したがって、バイト列に対して可能な操作はすべて ASCII-8BIT な
> 文字列に対する操作として定義し直すことができます。
> 
> したがって、おそらく問題は何かが出来る出来ないということでは
> なく、概念的というか、考え方に関する話だと思います。
> 
> どういう考え方をされているかはメールを読み直してもあまりはっ
> きりとは読み取れなかったので間違っているのかもしれませんが、
> バイト列と文字列が排他的なものだと考えているように感じられま
> す。
> 
> しかし、私はそうは考えていません。String は文字列の側面とバ
> イト列の側面をあわせもつものだと考えています。これは、バイト
> 列と文字列は違うレイヤの概念だからです。文字列は (コンピュー
> タ内では) バイト列にエンコーディングによって文字列としての解
> 釈を与えることによって表現されます。従って、文字列は常にバイ
> ト列としての側面を持ちます。とくに Ruby のように、文字列とし
> ては壊れたバイト列も許すシステムではバイト列の側面がはっきり
> と見て取れます。
> 
> レイヤによる見方の違いをエンコーディングの違いとして表現する
> ことは概念をうまくとらえていないのではないでしょうか。

--------------------------------------
Easy + Joy + Powerful = Yahoo! Bookmarks x Toolbar
http://pr.mail.yahoo.co.jp/toolbar/

In This Thread