azalea says

Python菊花文转换器

感谢Meng Li同学莅临指导,我发现世界上除了火星文,还有菊花文(又名金星文,大概是看得眼冒金星的意思)

据说谷歌输入法可以输入,但是作为Linux党只好自己动手:

import sys

inputstr = sys.argv[1]
inputlist = list(inputstr.decode('utf-8'))

# print repr('҉'.decode('ascii', 'xmlcharrefreplace'))
# Find the unicode for html character entity ҉
# It turns out to be u'҉'

decoration = u'҉'
encodedString = decoration + decoration.join(inputlist) + decoration

from BeautifulSoup import BeautifulStoneSoup
decodedString=unicode(BeautifulStoneSoup(encodedString,
    convertEntities=BeautifulStoneSoup.HTML_ENTITIES ))

print decodedString

用法:

python test.py 菊花文是个好东东
菊҉花҉文҉是҉个҉好҉东҉东҉<

原理:

菊花文其实就是在字符中间加入一个html character entity҉

Python做的就是读入正常的中文,每个字符之间插入这个符号,然后转换成 “real” unicode输出。最后的转换需要第三方包 BeautifulSoup

或者可以参考这里,自己写个函数

p.s. 偶觉得这个依然还是很容易被机器过滤的,还是火星文靠谱啊

programming python · Tweet Edit