以下の内容はhttps://anton0825.hatenablog.com/entry/20100610/1277653223より取得しました。


rubyで二バイトコード

rubyは.NETに比べて文字コードの問題が起こりやすい気がします。
オープンソースに共通する問題かも知れませんが。
世界のいろんな人がいろんな文字コードを前提としてコードを書いてるからでしょうか。
mechanizeの単体テストである要素のinner_htmlを取得すると文字化けしてました。

page.search("a").each do |href|
  puts href.inner_html
end

これはtoutf8でコード変換すればOK。

page.search("a").each do |href|
  puts href.inner_html.toutf8
end



次に漢数字を半角数字に直す場合。

names.collect{|name| name.tr('一二三四五六七八九', '1-9')}

これはjcodeを使います。

require 'jcode'
names.collect{|name| name.tr('一二三四五六七八九', '1-9')}

jcodeをrequireすると二バイトコードを正しく扱ってくれる。
が、以下の場合は正しく処理できないようだ。

"一二三四五六七八九"[2..3] #=>三四とはならない

バイトコードを含む文字列の指定箇所を抜き出す方法は今後の宿題にします。




以上の内容はhttps://anton0825.hatenablog.com/entry/20100610/1277653223より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14