我想在 Python 3.3 中切换 CJK 字符。也就是说,我需要从价(中文)中得到价(韩文),从价中得到価(日文)。有没有这样的外部模块?
问问题
1040 次
2 回答
2
这里有一个比较完整的换算表。您可以将其转储到 json 以供以后使用:
import requests
from bs4 import BeautifulSoup as BS
import json
def gen(soup):
for tr in soup.select('tr'):
tds = tr.select('td.tdR4')
if len(tds) == 6:
yield tds[2].string, tds[3].string
uri = 'http://www.kishugiken.co.jp/cn/code10d.html'
soup = BS(requests.get(uri).content, 'html5lib')
d = {}
for hanzi, kanji in gen(soup):
a = d.get(hanzi, [])
a.append(kanji)
d[hanzi] = a
print(json.dumps(d, indent=4))
代码及其输出在这个 gist中。
于 2013-12-30T16:08:32.243 回答
2
统一信息
Unihan 关于价</a>的页面提供了一个简化的变体(与传统的相比),但似乎没有给日语/韩语。所以...
CJK库
我建议看一下CJKlib,它有一个名为Variants的功能部分,说明:
Z变体形式,仅在字体上有所不同
[更新] Z 变体
您的示例字符 价 (U+50F9) 没有 z 变体。然而価 (U+4FA1) 有一个 kZVariant到 U+50F9 价。这似乎很奇怪。
进一步阅读
- 包文档可在Python.org/pypi/cjklib上获得;
- Z 变体形式定义。
于 2013-08-05T17:35:03.057 回答