From: KOSAKI Motohiro Date: 2010-03-03T10:53:24+09:00 Subject: [ruby-dev:40542] Re: [Feature #2833] 絵文字エンコーディングの提案 > チケット #2833 が更新されました。 (by Yui NARUSE) > > > > 以下のような fallback つきのコンバータを標準で提供しておけば、 > > 個々のニーズについては fallback 変換表を gem で配布してもらうだけ > > 済むかもしれません。 > > String#encode(to, from, opt) の opt[:replace] に Hash を与えられるようにして、 > そこに、変換元 encoding の文字 => 変換先の文字、という未定義文字の fallback 変換表を与えられるようにする、 > というものを今考えています。 > これだと例えば、 > fallbacks = { > ?\uE6AD => "[ふくろ]", > ?\u{1F4BA} => "[いす]" > } > "\u{3042 E6AD 1F4BA}".encode("UTF8-KDDI", replace: fallbacks) #=> "あ[ふくろ][いす]" > > ちなみに、現状でやるならば、次のような感じでしょうか > "\u{3042 E6AD 1F4BA}".gsub(/[#{Regexp.escape(fallbacks.keys.join)}]/, fallbacks).encode("UTF8-KDDI") #=> "あ[ふくろ][いす]" いいアイデアに見えます。 他はむらたさんへの返信とかぶるので割愛。。。