rotunicodeを使う¶
いつか使う時の備忘録のために書いておきます。
boxからrotunicodeというPythonライブラリが公開されています。
https://github.com/box/rotunicode
これは、latin-1のASCII文字列を、ASCII文字列に似たUnicode文字列に変換し てくれるライブラリです。
こんな感じでcodecに登録しておくと、encode関数で指定できるようになります。
import codecs
from box.util.rotunicode import RotUnicode
codecs.register(RotUnicode.search_function)
print('Testing rotunicode'.encode('rotunicode'))
>>> Ƭȅŝƭȉńġ ŕőƭȕńȉćőďȅ
print('Ƭȅŝƭȉńġ ŕőƭȕńȉćőďȅ'.decode('rotunicode'))
>>> Testing rotunicode
なんに使うの?¶
Unicodeでもちゃんと動くかどうかのテストが簡単にできます。
import os, errno
name = 'foo'.encode('rotunicode')
os.mkdir(name)
print(name)
>>> ƒőő
この時、例えば「あいうえお」などの日本語文字列を使うと、英語話者から見 れば「こんな見たこともない文字使うやついねーし」などと思われてしまうか もしれません。
しかし、このrotunicodeeを使うと、元となったASCII文字列に似たUnicode文字 列が出てきます。そのため、「あれ、これはなんか使うかもしれないな…」と 思ってくれるかもしれない、という効果がわずかながらでも期待できます。たぶん…
Comments
comments powered by Disqus