(追記:2013-01-28) コードを全面的に書き直しました。

RubyのコードをFlipして暗号化する?


Twitterでよく見かける上下反転文字はこうやって作るのですね。

twitter→ɹəʇʇɪʍʇのように英数字を180度回転して表示する方法|Colorless Green Ideas

こちらのサイトでその対応表を公開してくれています。ありがたい。

こんな面白いもの見せられて、黙っている訳にはいきませんよね…

そんなわけで…

先のサイトから対応表を引いてきて上下反転文字を作るスクリプトをRubyで書きました^ ^;

使い方

ここからscraper.rbtextupdown.rbtextupdownを拾ってきて、同じディレクトリでtextupdownコマンドを文字列を伴って実行します。

% ./textupdown twitter
Ꮧəʇʇɪʍʇ

% ./textupdown The quick brown fox jumps over the lazy dog
бop ʎzɐꞁ əɥʇ ɹəᏙo sdաnſ xoɟ uʍoɹq ʞɔᴉnb əɥ⏊

コードポイントを得たいときは、-cを付けます。

% ./textupdown -c twitter
U+13D7
U+0259
U+0287
U+0287
U+0131
U+028D
U+0287

Rubyで使うときはつぎのようにします。

require './textupdown'

t = TextUpDown.new
t.text('twitter') # => "Ꮧəʇʇıʍʇ"
t.code('twitter') # => ["U+13D7", "U+0259", "U+0287", "U+0287", "U+0131", "U+028D", "U+0287"]

TextUpDown#textで反転文字列が、TextUpDown#codeでそのコードポイントが返ります。対応文字が複数ある場合はその中から毎回ランダムで決定します。

最初の実行で先のサイトからデータを引いてきて、textupdown.yamlというファイルに保存し、次回以降はそのファイルを参照します。

作りがいい加減です。ブラッシュアップしてくれる人、お願いしますm(__)m

Termtterユーザ向けpluginも作りました。Termtterで逆さ文字ツイートしましょう!


(追記:2013-01-27) コードの変更に伴い内容を追記しました。 (追記:2013-01-27) Termtter pluginを追加しました。


アップサイド・ダウン:クリエイション・レコーズ・ストーリー【エクスターミネイテッド・エディション】DVD2枚組



blog comments powered by Disqus
ruby_pack8

100円〜で好評発売中!
M'ELBORNE BOOKS