摘要: 首先,需要明确几个关于编码的基本概念:java内部是使用的16bit的unicode编码(utf-16)来表示字符串的,无论英文还是中文都是2字节;jni内部是使用utf-8编码来表示字符串的,utf-8是变长编码的unicode,一般ascii字符是1字节,中文是3字节;c/c++使用的是原始数据,ascii就是一个字节,中文一般是GB2312编码,用2个字节表示一个汉字。jni的中文字符串处理先从字符流的方向分别对java-->C++和C++-->java进行分析java-->C++这种情况下,java调用的时候使用的是utf-16编码的字符串,jvm把这个参数传递给jn 阅读全文
posted @ 2011-12-13 11:17 bluesky4485 阅读(8032) 评论(5) 推荐(2)