我试图让大小写折叠在三种语言(C++、Python 和 Golang)之间保持一致,因为无论使用哪种语言,我都需要能够检查字符串是否与保存的字符串匹配。
一个有问题的单词示例是德语单词“grüßen”,它的大写字母是“GRÜSSEN”(注意“ß”变成了两个字符“SS”)。
- C++ 使用 boost::locale文本转换文档效果很好
- Python 3 也可以通过 str.casefold() casefold 文档工作
- 但是,Golang 似乎没有办法进行正确的大小写折叠。golang 操场示例
有没有我遗漏的方法可以做到这一点,或者unicode 文档末尾的这个错误是否适用于 golang 中文本转换的所有用法?如果是这样,除了在 cgo 中编写之外,我还有哪些案例折叠选项?