Unicode到语言的映射

Unicode到语言的映射,unicode,encoding,mapping,Unicode,Encoding,Mapping,这个问题可能是堆栈溢出的边界,所以如果它看起来太离题了,我提前道歉。我正在编写一个涉及多种语言的程序,我需要一个将语言映射到Unicode点的表。熟悉Unicode的人都知道字符被划分为“块”,如拉丁语、西里尔文等。当然,大多数使用拉丁语字符的语言并不使用所有拉丁语字符,而大多数使用西里尔文字符的语言也不使用所有西里尔文字符,等等。我感兴趣的是一个表格,它只将英语映射到英语中使用的字符,将西班牙语映射到西班牙语中使用的字符,等等。没有必要覆盖世界上所有的语言(因为这几乎是不可能的),但至少要覆盖

这个问题可能是堆栈溢出的边界,所以如果它看起来太离题了,我提前道歉。我正在编写一个涉及多种语言的程序,我需要一个将语言映射到Unicode点的表。熟悉Unicode的人都知道字符被划分为“块”,如拉丁语、西里尔文等。当然,大多数使用拉丁语字符的语言并不使用所有拉丁语字符,而大多数使用西里尔文字符的语言也不使用所有西里尔文字符,等等。我感兴趣的是一个表格,它只将英语映射到英语中使用的字符,将西班牙语映射到西班牙语中使用的字符,等等。没有必要覆盖世界上所有的语言(因为这几乎是不可能的),但至少要覆盖一些更常见的语言。(即使如此,这将是一个涉及多对多关系的相当广泛的表。)我不确定是否存在这样的表。(如果没有,我可能会把它变成一个开源项目,因为它对我和其他人都非常有用。)

,Unicode公共语言环境数据存储库,包含了大量语言的字符集合定义。
examplarcharacters
元素指定正常编写语言单词所需的字符。该元素的当前定义可以在页面上看到(按书写系统分组),但是对于自动处理,您可能会发现XML文件更适合。ExamplarCharacters其他元素当前包含标点符号的类似数据

一般来说,这可能是最好的此类信息汇编,但在概念上非常模糊(它并没有真正尝试定义用于编写语言的字符的含义),不同语言的信息是在一个开放的过程中收集的,但不包含一般的质量控制


元素的含义在LDML规范第条中定义。请注意“元素提供了有关区域设置中常用字符的可选信息,以及有助于选择适合该区域设置的资源或数据的信息,例如在通常用于以区域设置语言传输数据的字符编码中进行选择时。”这是一个相当奇怪的观点,尤其是在Unicode联合体文档中,因为我们可以使用UTF-8,它涵盖所有语言。但是,还有其他一些问题,比如选择文本字体、初步检查输入数据、设置OCR扫描参数或定义键盘设置等,语言中使用的字符信息可能会很有用。这些上下文可能需要对“语言中使用的字符”的概念有不同的定义。

哇,这正是我想要的!我已经在unicode.org上呆过很多次了,但不知何故我错过了CLDR。你想要达到的目标是什么?您不应将特定语言的用户限制在特定的子曲目中;有些瑞典人的名字中有法语,有些法国人使用德语借词,有些人甚至在同一份文件中混合语言。对于语言识别,比单个字符更长的序列可能更有用;请看一看CPAN中的Language::Guess模块,它将Unicode块信息与传统的n-gram语言分类器相结合。