信不信由你,这个词的 iota(最后一个字母)似乎在 unicode 中以两种不同的方式编码:εἰμί(带有 TONOS 的 U+03AF 的希腊小写字母 IOTA)εἰμί(带 OXIA 的希腊小写字母 IOTA' U+1F77)我假设有时字母被编码为单个字母,而在其他时候它被编码为字母+重音。是否有某种地图或数据库允许我们在我可以导入到我的代码中的一个或另一个之间进行转换。
1 回答
繁花如伊
TA贡献2012条经验 获得超12个赞
信不信由你
让我们离开幻想世界吧。
希腊语 Unicode 范围内重复的元音 + oxia 字符
例如,
package main
import (
"bytes"
"fmt"
"golang.org/x/text/unicode/norm"
)
func Equal(a, b string) bool {
var ia, ib norm.Iter
ia.InitString(norm.NFKD, a)
ib.InitString(norm.NFKD, b)
for !ia.Done() && !ib.Done() {
if !bytes.Equal(ia.Next(), ib.Next()) {
return false
}
}
return ia.Done() && ib.Done()
}
func main() {
a := "εἰμ\u03AF"
b := "εἰμ\u1F77"
fmt.Println(a)
fmt.Println(b)
fmt.Println(a == b)
fmt.Println(Equal(a, b))
}
输出:
εἰμί
εἰμί
false
true
- 1 回答
- 0 关注
- 86 浏览
添加回答
举报
0/150
提交
取消