无论是否最优,我都在尝试使用其十六进制代码来识别特定字符。 (有没有更好的方法来识别字母、阿拉伯文、中文或日文字符?)
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标准库貌似只提供对英文字母的编码和解码。
提前致谢。
最佳答案
不,我们没有针对每种语言的十六进制边界的任何表格或图表。有一些关于各种语言中通常使用的字符的数据。
这回答了提出的问题,但您应该考虑这是否是您真正的问题。这个问题指的是书写系统、字母表和语言,就好像它们是一回事一样;它们是不同的概念。您应该定义您的实际问题:您真正需要什么信息?在某种语言的文本中,任何 Unicode 字符都可能出现。
顺便说一下,英语(至少在某些语言形式中)也有 fiancé、coöoperation、rôle、anæmia、belovèd 等词。
关于unicode - 我需要 unicode 来识别不同的书写系统吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19777979/