Rubyで数値文字参照を文字列に変換
Rubyで数値文字参照を文字列に変換するのってどうやるんだろう・・・と思って調べてみました。
数値文字参照とは
文字参照 - Wikipedia
上記を読んでいただければ分かります。
HTMLなどのSGML文書においては、直接記述できない文字 や記号(マークアップで使われる "<" や "]]" など)を表記する際に用いられる方法である。
XMLにおいては、HTMLにおける「数値文字参照」を文字参照と呼 ぶ。なおHTMLにおける「文字実体参照」は、XMLでは実体参照(Entity reference)と呼び区別する。
文字列と数値文字参照の変換をやってみる
【みんなの知識 ちょっと便利帳】文字列と数値文字参照(文字参照)の変換スクリプト - 機種依存文字文字化け防止でWeb上で変換できます。
文字列 - ♪ 10進数数値文字参照 - ♪ 16進数数値文字参照 - ♪
HTMLで実際に書いてみる
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> ♪ <br> ♪(10進数による指定) <br> ♪(16進数による指定) <br> </body> </html>
Rubyで数値文字参照の変換をやってみる
htmlentitiesというライブラリがありましたので使ってみます。
% wget http://rubyforge.org/frs/download.php/62613/htmlentities-4.2.0.tar.gz % tar zxvf htmlentities-4.2.0.tar.gz % irb > $LOAD_PATH.unshift('/path/to/htmlentities-4.2.0/lib') > require 'htmlentities' => true > puts HTMLEntities.new.decode("♪") ♪ => nil puts HTMLEntities.new.decode("♪") ♪ => nil puts HTMLEntities.new.decode("♪♪") ♪♪ => nil
Rubyの実行環境
OS | Mac OS X 10.6.2 |
ruby | ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-darwin10] |
gem | 1.3.5 |