NDK编程,使用C++代码获取Android文件和文件夹名称,并在软件界面上显示,但发现汉字显示为乱码。该软件为了减少对系统的依赖,自己实现了一套字体描画机制,采用的是GBK编码,所以首先怀疑编码不兼容。
仍然使用NDK,编写个小程序专门获取Android下文件和文件夹名称,然后打印到文本文件中。
分析文本文件发现字符串的编码是UTF-8编码。
修改方法就是调用该软件基础库中的接口,将UTF-8字符串先转换为Unicode-16编码,然后再由Unicode-16编码转换为GBK。
NDK编程,使用C++代码获取Android文件和文件夹名称,并在软件界面上显示,但发现汉字显示为乱码。该软件为了减少对系统的依赖,自己实现了一套字体描画机制,采用的是GBK编码,所以首先怀疑编码不兼容。
仍然使用NDK,编写个小程序专门获取Android下文件和文件夹名称,然后打印到文本文件中。
分析文本文件发现字符串的编码是UTF-8编码。
修改方法就是调用该软件基础库中的接口,将UTF-8字符串先转换为Unicode-16编码,然后再由Unicode-16编码转换为GBK。
转载于:https://my.oschina.net/u/1052241/blog/209631