在哪里可以找到仅显示简体中文字符的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/
Unihan database在Unihan_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]/
第一列是传统字符,第二列是简化的。
要获取所有简化字符,请阅读此文本文件并列出第二列中显示的每个字符。请注意,某些字符可能不会单独出现(仅在化合物中),因此仅查看单字符条目是不够的。
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
由于这两个字符恰好也是有效的繁体中文,并且没有专门的日文字符,因此无法正确识别。
我不确定这是否容易完成。汉字表意文字在Unicode中统一,因此如何做到这一点并不是很明显。但是Unihan数据库(http://www.unicode.org/charts/unihan.html)可能拥有您需要的数据。
根据wikipedia简体中文v。传统,汉字或其他格式在许多情况下留给字体渲染。因此,虽然您可以选择简体中文代码点,但由于许多字符不再明显,因此该列表并不完整。
我不相信有一个只有简化代码点的表。我认为他们都被整合在CJK range of 0x4E00 through 0x9FFF中
这是我制作的所有简体中文字符的正则表达式。出于某种原因,Stackoverflow正在抱怨,所以它在下面的pastebin中链接。
您会注意到此列表包含范围而不是每个单独的字符,但这些字符是utf-8字符,而不是转义表示。自2010年左右以来,它在一次或另一次迭代中很好地为我服务。希望其他人现在可以使用它。
如果你不想要简化的字符(我无法想象为什么,它不会在9年内出现),迭代来自['一-龥']
的所有字符并尝试构建一个新列表。或运行两个正则表达式,一个检查它是中文,但不是简体中文