我有一份旧的C代码,用于文本处理。所有规则和数据都编码为ISO-8859-7。现在,我正在尝试将其移植到Android。我已经构建了适当的JNI函数,使用GetStringUTFChars()。这个const char*似乎是UTF-8编码的。因此,我需要将其转换为ISO。
在Windows中,我有一个函数可以将utf-8(const char*)转换为wchar_t,然后我使用wcstombs()将其转换为ISO。但是,在Android下,这种方法不起作用,我还读到wchar_t不安全。
那么,我该如何进行此转换?
谢谢
在Windows中,我有一个函数可以将utf-8(const char*)转换为wchar_t,然后我使用wcstombs()将其转换为ISO。但是,在Android下,这种方法不起作用,我还读到wchar_t不安全。
那么,我该如何进行此转换?
谢谢
wcstombs
无法正常工作? - David Heffernanwcstombs
看起来似乎期望的是宽字符。 - simonciconv
库是否可用 - Dmytro Sirenkowcstombs
在任何地方都是相同的。也许问题在于Android上没有可用的utf8-> utf16部分。但我认为我想使用一个可以在单个步骤中完成转换的转换库。因此,iconv将是一个不错的选择。 - David Heffernan