jni下字符转换编码

来源:互联网 发布:js获取数组前几个元素 编辑:程序博客网 时间:2024/06/01 20:16

最近一个项目需要jni下对字符进行编码转换,gbk转换为unicode,首先想到的肯定是linux下字符编码转换mbstowcs进行转换,谁知这个函数所需要的本地库在android上竟然没有,不过后来又google一番发现android系统自带了一个编码转换库libicuuc.so,这个库的使用方法就不详细介绍了,度娘那里一大堆,这里说下我遇到的主要问题,我使用icu库转码后的字符串里总是在开头出现一个方框的字符,我一直以为我调用函数出错了,并且一直google、百度就是找不到问题,后来干脆直接打印出内存数据,发现gbk转换为unicode后的串里的开头总是出现0xfeff这个字符,又去google这个东西,后来才了解这个字符是unicode的标志位,表示高字节优先还是低字节优先。

哎,给自己一巴掌基础知识记得不牢,找了大半天。也是微软害人,我的这个项目是从windows移植过来的,windows上考虑的很少,微软太关爱我们了。

原创粉丝点击