[#35937] WeRDS (the Weekly Ruby-Doc Summary) 2002-09-13 — maili31s@... (SugHimsi == SUGIHARA Hiroshi)

すぎむし。

14 messages 2002/09/16
[#36004] WeRDS (the Weekly Ruby-Doc Summary) 2002-09-22 — maili31s@... (SugHimsi == SUGIHARA Hiroshi) 2002/09/25

すぎむし%くどいようですが、うるさければ謹慎しますので。

[#35940] 9.2 の数値が 9.199999999999999 — "Inoue" <rubyist@...1.117.ne.jp>

井上です。

16 messages 2002/09/17
[#35941] Re: 9.2 の数値が 9.199999999999999 — matz@... (Yukihiro Matsumoto) 2002/09/17

まつもと ゆきひろです

[#35942] Re: 9.2 の数値が 9.199999999999999 — Fujimaru Hiroyasu <f-hiro@...> 2002/09/17

 藤丸です。

[#35977] [ANN] Exerb 2.1.0 — Yuya Kato <yuya-ml@4th.to>

Yuyaです。

18 messages 2002/09/20
[#35978] Cookie — 金光雅夫 (KANEMITSU Masao) <masao-k@...> 2002/09/20

金光です。どもっ (_ _)

[#35979] Re: Cookie — rio-t@... 2002/09/20

こんにちは、高石です。

[#35980] Re: Cookie — 金光雅夫 (KANEMITSU Masao) <masao-k@...> 2002/09/20

金光です。どもっ。

[ruby-list:35882] REXML, UTF8 and pack('U*')

From: sheepman <sheepman@...>
Date: 2002-09-08 06:38:21 UTC
List: ruby-list #35882
こんにちは、sheepman です。

REXML を使って、Galeon のブックマークを弄ろうとしたんですが、
文字コードに関して問題が発生しました。

Galeon のブックマークでは、例えば「天気予報」という文字列は、
&#229;&#164;&#169;&#230;&#176;&#151;&#230;&#131;&#133;&#229;&#160;&#177;
という UTF8 の数値文字参照によって、保存されています。

REXML では数値文字参照があった場合、

rv.gsub!( /&#0*((?:\d+)|(?:x[a-f0-9]+));/ ) {|m|
  m=$1
  m = "0#{m}" if m[0] == ?x
  [Integer(m)].pack('U*')
}

のようなコードで pack して出力する文字列を生成しています。しかし、
pack('U*') は入力に UTF16な整数の配列を仮定して、UTF8な文字列を
出力するもので、XMLのエンコードはデフォルトでは UTF8なので、
おかしな文字列を REXML が出力してしまうように思えます。

本来は
- [Integer(m)].pack('U*')
+ [Integer(m)].pack('C*')
が正しいように思えます。

これって REXMLのバグなんでしょうか?
それとも Galeonのブックマークの問題か、
あるいは単に僕が勘違いしているだけなんでしょうか。

-- 
sheepman / TAMURA Takashi
sheepman@tcn.zaq.ne.jp http://www.tcn.zaq.ne.jp/sheepman/
Key fingerprint = 4E13 FE38 CD73 48D3 38AE  00EE 9E28 F98B D569 848E

In This Thread

Prev Next