From: "NARUSE, Yui" Date: 2008-01-25T14:21:22+09:00 Subject: [ruby-dev:33371] Re: Binary String 成瀬です。 U.Nakamura wrote: > こんにちは、なかむら(う)です。 > > In message "[ruby-dev:33369] Re: Binary String" > on Jan.25,2008 13:38:58, wrote: > | > え、デフォルトはASCII-8BITじゃなかったでしたっけ? > | > # parser_initialize()でもそうしてます。 > | > | これはたぶん、locale_charmap が空の時の default_external と混同なさって > | いるのかと。これは LANG=C が US-ASCII だから locale_charmap が空の時は > | US-ASCII にしませんかと提案して、コミットした記憶があります。 > > あれ、でも、現実がそうなってませんよ? > > % cat us-ascii.rb > # -*- encoding: US-ASCII -*- > p "あ".encoding > > % ruby us-ascii.rb > us-ascii.rb:2: invalid multibyte char > us-ascii.rb:2: invalid multibyte char > > % cat ascii-8bit.rb > # -*- encoding: ASCII-8BIT -*- > p "あ".encoding > > % ruby ascii-8bit.rb > # > > % cat none.rb > p "あ".encoding > > % LANG=C ruby none.rb > # いや、そこの意味でなく、えーっと、 rb_encoding * rb_locale_encoding(void) { VALUE charmap = rb_locale_charmap(rb_cEncoding); int idx; if (NIL_P(charmap)) idx = rb_enc_find_index("US-ASCII"); <= ここ else idx = rb_enc_find_index(StringValueCStr(charmap)); if (idx < 0) return rb_ascii8bit_encoding(); return rb_enc_from_index(idx); } って趣旨でした -- NARUSE, Yui DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA