简体中文Unicode表

问题描述 投票:8回答:6

在哪里可以找到仅显示简体中文字符的Unicode表格?我到处搜索但找不到任何东西。

更新: 我发现有另一种称为GB 2312的编码 - http://en.wikipedia.org/wiki/GB_2312 - 仅包含简化字符。 当然我可以用它来得到我需要的东西吗?

我还发现这个文件将GB2312映射到Unicode - http://cpansearch.perl.org/src/GUS/Unicode-UTF8simple-1.06/gb2312.txt - 但我不确定它是否准确。

如果那个表不正确,也许有人可以指出我是一个,或者只是一个GB2312字符的表格和某种方式来转换它们?

更新2: 此站点还提供GB / Unicode表甚至Java程序,以生成包含所有GB字符以及Unicode等效项的文件: http://www.herongyang.com/gb2312/

unicode cjk
6个回答
14
投票

Unihan databaseUnihan_Variants.txt文件中包含此信息。例如,一对传统/简化字符是:

U+673A  kTraditionalVariant     U+6A5F
U+6A5F  kSimplifiedVariant      U+673A

在上面的例子中,U + 6A5F是机器,传统形式的机器(U + 673A)。

另一种方法是使用CC-CEDICT项目,该项目发布汉字和化合物字典(传统和简化)。每个条目看起来像:

宕机 宕机 [dang4 ji1] /to crash (of a computer)/Taiwanese term for 当机|当机[dang4 ji1]/

第一列是传统字符,第二列是简化的。

要获取所有简化字符,请阅读此文本文件并列出第二列中显示的每个字符。请注意,某些字符可能不会单独出现(仅在化合物中),因此仅查看单字符条目是不够的。


8
投票

OP没有说明他们正在使用哪种语言,但是如果你使用Ruby,我写了一个small library,可以区分简体中文和繁体中文(加上韩文和日文作为奖励)。正如格雷格的答案中所建议的,它依赖于Unihan_Variants.txt的蒸馏版本来确定哪些字符是完全简化的,哪些是传统的。

https://github.com/jpatokal/script_detector

样品:

p string
=> "我的氣墊船充滿了鱔魚."
> string.chinese?
=> true
> string.traditional_chinese?
=> true
> string.simplified_chinese?
=> false

但正如Unicode FAQ正式警告的那样,这需要大量的文本片段才能可靠地工作,并且会给短字符串带来误导性的结果。考虑东京的日本人:

p string
=> "東京"
> string.chinese?
=> true
> string.traditional_chinese?
=> true
> string.japanese?
=> false

由于这两个字符恰好也是有效的繁体中文,并且没有专门的日文字符,因此无法正确识别。


1
投票

我不确定这是否容易完成。汉字表意文字在Unicode中统一,因此如何做到这一点并不是很明显。但是Unihan数据库(http://www.unicode.org/charts/unihan.html)可能拥有您需要的数据。


0
投票

根据wikipedia简体中文v。传统,汉字或其他格式在许多情况下留给字体渲染。因此,虽然您可以选择简体中文代码点,但由于许多字符不再明显,因此该列表并不完整。


0
投票

我不相信有一个只有简化代码点的表。我认为他们都被整合在CJK range of 0x4E00 through 0x9FFF


0
投票

这是我制作的所有简体中文字符的正则表达式。出于某种原因,Stackoverflow正在抱怨,所以它在下面的pastebin中链接。

https://pastebin.com/xw4p7RVJ

您会注意到此列表包含范围而不是每个单独的字符,但这些字符是utf-8字符,而不是转义表示。自2010年左右以来,它在一次或另一次迭代中很好地为我服务。希望其他人现在可以使用它。

如果你不想要简化的字符(我无法想象为什么,它不会在9年内出现),迭代来自['一-龥']的所有字符并尝试构建一个新列表。或运行两个正则表达式,一个检查它是中文,但不是简体中文

© www.soinside.com 2019 - 2024. All rights reserved.