繁体   English   中英

如何将UTF-8字符串转换为大写?

[英]How do I convert a UTF-8 string to upper case?

是否有一种可移植的方法将C中的UTF-8字符串转换为大写字母? 如果没有,Linux的方法是什么?

这样做的便携方式是使用Unicode感知库,例如ICU 看起来像u_strToUpper可能是你正在寻找的功能。

glib有g_utf8_strup()

执行此操作的规范方法是使用wchar_t - 如果您有一串宽字符并使用towlower / towupper / towctrans和您的宽字符(如果您的语言环境设置正确,则可以使用)。 因此,您需要获取UTF-8字符串,将其转换为宽字符串,然后使用这些带有wchar_t的函数然后转换回来。

这是一个巨大的PITA,因此您最好使用支持的开源Unicode库,如ICU

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM