4

我想在 Python 3.3 中切换 CJK 字符。也就是说,我需要从价(中文)中得到价(韩文),从价中得到価(日文)。有没有这样的外部模块?

4

2 回答 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 价。这似乎很奇怪。

进一步阅读

于 2013-08-05T17:35:03.057 回答