[英]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.