0

无论是否最佳,我都在尝试使用其十六进制代码来识别特定字符。(有没有更好的方法来识别字母、阿拉伯文、中文或日文字符?)

http://play.golang.org/p/b81_rgXr3G

   fmt.Printf("%x \n", "가") //eab080
   fmt.Printf("%x \n", "ㅎ") //e3858e

所以在韩语中确实是 eab080 < e3858e

那么我的问题是我们是否有每种语言的十六进制边界的表格或图表?

我的意思是,对于英语

 fmt.Printf("%x \n", "A") //41
 fmt.Printf("%x \n", "z") //7a

然后 41 < 7a

正如您在上面看到的,字母表的范围在 41 和 7a 之间。我正在为另一个不在字母表中的书写系统尝试同样的事情。

我需要 unicode 来识别不同的书写系统吗?unicode 标准库似乎只提供编码和解码英文字母。

提前致谢。

4

1 回答 1

3

不,我们没有针对每种语言的十六进制边界的任何表格或图表。有一些关于各种语言中通常使用的字符的数据。

这回答了所提出的问题,但您应该考虑这是否是您真正的问题。这个问题涉及书写系统、字母和语言,就好像它们是一回事;它们是不同的概念。你应该定义你的实际问题:你真正需要什么信息?在某种语言的文本中,可能会出现任何Unicode 字符。

顺便说一句,英语(至少在某些形式的语言中)也有诸如 fiancé、coöoperation、rôle、anæmia、belovèd 等词。

于 2013-11-04T22:24:03.300 回答