RT,现在有一些中文数据,
比如“本月”这个词,我只能得到它的GBK编码
也就是 b1be(本) d4c2(月)
怎么才能正确的转换成unicode格式的string?
因为是在android上显示,所以只能是unicode格式的字符串才行。谢谢~

解决方案 »

  1.   

    android自带的media 中文字库就是针对GBK的 
    如果必须在终端显示文字那就只能被动的转成utf-8了 
    c++ 和  java 的转码操作需要在哪层处理转码http://www.regexlab.com/zh/encoding.htm 
    但是要注意的是 GBK和GB2312的区别就在于 第一个字节若是小于128的ASCII码的话 就独立成字 而不是像GB2312一样2字节存储1个字 转码时读取byte要注意
      

  2.   

    用EncodingUtils可以转换的       byte[] a=new byte[4];
           a[0]=(byte)0xb1;      
           a[1]=(byte)0xbe;      
           a[2]=(byte)0xd4;      
           a[3]=(byte)0xc2;
           String sa = EncodingUtils.getString(a,"GBK");   sa= EncodingUtils.getString("本月".getBytes("GBK"),"GBK");
      

  3.   

    这样也可以 byte[] a=new byte[4];
           a[0]=(byte)0xb1;      
           a[1]=(byte)0xbe;      
           a[2]=(byte)0xd4;      
           a[3]=(byte)0xc2;
           String sa =new String(a,"GBK");
      

  4.   

    byte[] datas;//datas存放gbk编码String strGBK=new String(datas,"GBK");String strUTF=new String(strGBK.getBytes(),"UTF-8");strUTF即可在显示
      

  5.   

    那位大仙有GBK转换unicode的源代码啊。求助