Mae向きなブログ

Mae向きな情報発信を続けていきたいと思います。

Unicodeで遊ぶ

Unicodeには、Ⓐ、ⓐなどといったマル付きの英文字があるみたいなので、英文字列を入力するとマル付き文字に変換する簡単なスクリプトを作ってみました。

maru.rb

# -*- coding: utf-8 -*-
class String
  def toMaru
    self.chars.map{|ch|
      case ch
      when /[A-Z]/
        (ch.bytes.to_a[0] - ?A.bytes.to_a[0]) + 0x24b6
      when /[a-z]/
        (ch.bytes.to_a[0] - ?a.bytes.to_a[0]) + 0x24d0
      else
        ch.bytes.to_a[0]
      end
    }.pack("U*")
  end
end

puts "Masahide Maehara".toMaru

実行結果

$ ruby maru.rb
Ⓜⓐⓢⓐⓗⓘⓓⓔ Ⓜⓐⓔⓗⓐⓡⓐ