将JNI UTF-16字符串转换为标准C ++ UTF-8字符串

时间:2014-01-16 17:42:28

标签: c++ utf-8 utf-16 utf

我需要将UTF-16字符串转换为UTF-8字符串。

const unsigned short *utf16string = ...;
const char *utf8string = convertUTF16toUTF8(utf16string);

有人可以帮我查找/编写函数const char* convertUTF16toUTF8(const unsigned short* utf16string)吗?

遗憾的是,这些类型无法更改,而且我无法访问C ++ 11。我一直在打扰这个好几个小时,找不到任何解决方案。

请帮帮我。我相信你,StackOverflow!

P.S。如果有人需要知道,我正在使用cocos2d-x进行游戏,我正在尝试使用JNI回调获取字符串。 JNI有GetString...函数的UTF版本,但根据我自己的经验和Wikipedia这些都是错误的,所以我需要使用原始函数转换字符串。

1 个答案:

答案 0 :(得分:2)

如果你想要一个简单的小型C ++库,你可以使用UTF8-CPP在UTF-8和UTF-16之间进行转换。