[#37248] [Feature:1.9] Enumerator#inspect — "Yusuke ENDOH" <mame@...>

遠藤です。

12 messages 2008/12/02

[#37337] [Feature #841] Object#self — "rubikitch ." <redmine@...>

Feature #841: Object#self

13 messages 2008/12/09

[#37513] Current status of 1.9.1 RC1's issues — "Yugui (Yuki Sonoda)" <yugui@...>

Hi, folks

14 messages 2008/12/20
[#37516] Re: Current status of 1.9.1 RC1's issues — Masatoshi SEKI <m_seki@...> 2008/12/20

咳といいます。

[#37576] [BUG:trunk] encoding for stdio's — "Yugui (Yuki Sonoda)" <yugui@...>

Yuguiです。

11 messages 2008/12/24

[ruby-dev:37603] Re: [BUG:trunk] [m17n] TestCSVFeatures fails because of r20905

From: Tanaka Akira <akr@...>
Date: 2008-12-26 04:13:29 UTC
List: ruby-dev #37603
In article <4953CC9F.7070603@airemix.jp>,
  "NARUSE, Yui" <naruse@airemix.jp> writes:

> 直感的には String#encode("ASCII-8BIT") は、
> String#force_encode("ASCII-8BIT") と同じ効果になるべきに感じます。

あまり直感的に思えません。encode は文字を保存するようにバイ
ト列を変換するはずなのに、そうなっていません。

CSV#inspect をみると、ASCII 互換の encoding にしたい、という
意図を感るんですが、違うんでしょうか。UTF-16 が来たときの対
策というか。

UTF-16 を考えると、force_encoding にすると、中身が文字として
ASCII の範囲内でも \0 がひとつおきに入って嬉しくないんじゃな
いでしょうか。

UTF-16 についての議論がどうなったかちゃんと覚えてないんです
が、もし UTF-16 は扱わないでもいいという話だったら、単純に
.encode("ASCII-8BIT") を消してしまうというのはどうでしょうか。

また、UTF-16 を扱うのであれば、UTF-16 に対応する ASCII 互換
な encoding に変換するということで、

  e = Encoding::Converter.asciicompat_encoding(s.encoding)
  e ? s.encode(e) : s.force_encoding("ASCII-8BIT")

とかはどうでしょう。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread