简体中文Unicode表

时间:2011-01-04 17:33:07

标签: unicode cjk

在哪里可以找到仅显示简体中文字符的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/

6 个答案:

答案 0 :(得分:14)

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

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

在上述情况下,U + 6A5F是机器,传统形式的机器(U + 673A)。

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

  宕机宕机[dang4 ji1] /崩溃(计算机)/台语术语当当|当机[dang4 ji1] /

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

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

答案 1 :(得分: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

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

这是我制作的所有简体中文字符的正则表达式。由于某些原因,Stackoverflow在抱怨,因此将其链接到下面的pastebin中。

https://pastebin.com/xw4p7RVJ

您会注意到,此列表的功能是范围,而不是每个单独的字符,而且这些都是utf-8字符,而不是转义的表示形式。自2010年左右以来,它在一次或一次迭代中为我提供了很好的服务。希望其他所有人现在都可以使用它。

如果您不希望使用简化的字符(我无法想象为什么,那么9年内就不会出现一次),请遍历['一-龥']中的所有字符并尝试建立一个新列表。或运行两个正则表达式,其中一个检查它是否为中文,但不是简体中文