使用ICU库将UTF-8转换为ASCII

Get*_*ree 5 c++ unicode utf-8 transliteration

我有一个带有UTF-8字符的std :: string。
我想将字符串转换为最接近的ASCII字符。

例如:

?ód?=>罗兹(
LodzAssunção)=>阿松松(
AssuncaoSchloß)=>城堡(Schloss)

不幸的是,ICU库真的很不直观,我还没有找到有关其用法的好的文档,因此花太多时间来学习使用它。我没有时间。

有人可以举个例子说明如何做到这一点吗?
谢谢。

sho*_*osh 3

我不了解 ICU,但 ICONV 可以做到这一点,而且非常容易学习。只需要大约 3-4 个调用,您在您的情况下需要的是使用ICONV_SET_TRANSLITERATE标志 using iconvctl()