lukew 发表于 2013-2-4 19:17:12

GB2312转换Unicode

之前的文章介绍了在j2me环境下GB2312转换为UTF-8的方法。
后来继续对编码及char类型进行学习,发现一些有趣的问题。
首先java环境下的char类型变量,实际上就是以unicode方式存储的。
所以以下方法有效:

输入unicode编码的byte数组,即可两两拼接成一个char。
而String类型实际上就是在char数组的基础上衍生出来的。大家可以参考cldc的源代码。
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!---->public static String read_Uni(byte[] word_unicode) {
        StringBuffer stringbuffer = new StringBuffer("");
        for (int j = 0; j < word_unicode.length;) {
            int l = word_unicode++];
            int h = word_unicode++];
            char c = (char) ((l & 0xff) | ((h << 8) & 0xff00));
            stringbuffer.append(c);
        }
        return stringbuffer.toString();
    }

页: [1]
查看完整版本: GB2312转换Unicode