C/C++中的Unicode字符串规范化

Gha*_*uni 14 c++ unicode utf-8 utf-16 unicode-normalization

我想知道如何在C/C++中规范化字符串(包含utf-8/utf-16).在.NET中有一个函数String.Normalize.

我过去使用过UTF8-CPP,但它没有提供这样的功能. ICU和Qt提供字符串规范化,但我更喜欢轻量级解决方案.

对此有任何"轻量级"解决方案吗?

Avi*_*Avi 10

正如我在另一个问题中所写,utf8proc是一个非常好的,轻量级的库,用于基本的Unicode功能,包括Unicode字符串规范化.

  • Julia团队有一个名为libmojibake(https://github.com/JuliaLang/libmojibake)的更新的utf8proc分支,它已针对Unicode 7支持进行了更新.(它还有一些其他小的修复,例如它修复了C++兼容性.) (2认同)