ユニコードの数値文字参照の解決

Rubyユニコード文字の数値文字参照の解決ってどうするんだっけ。
1.9 なら "\u<云々>" と書けば良い(言う程単純なことでもないか)、1.8 ではどうするんだっけ。
取り敢えずこんなものがある、http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses-user_timelineRSS出力からいろいろしたりタグを取り除いたりしたもの。

hs9587: おはようございます

配列の #pack('U') でいいようだ http://doc.loveruby.net/refm/api/view/method/Array/i/pack

irb(main):002:0> puts [12362].pack('U')
お
=> nil

ちなみに複数文字ならその分テンプレート文字列に数字

irb(main):004:0> puts [12362, 12399, 12424, 12358].pack('U4')
おはよう
=> nil

するとこんな感じか

irb(main):008:0> str = "hs9587: おはようございます"
=> "hs9587: おはようございます"
irb(main):009:0> puts str.gsub(/&#(\d+?);/){ [$1.to_i].pack('U') }
hs9587: おはようございます
=> nil

ちょっと文字数数えてらんないし。