我想把非UTF-8字符转换成UTF-8.
我程序把一个文本(非UTF-8字符)读倒byte[] b数组中,我怎么把这个二进制数据转换成UTF-8字符放在byte[]类型数组里面呢?byte[] b =GetByte():String buf = "";
buf = new String(b,"utf-8");
b = buf.getBytes();这样不对呢?
那该怎么做呢

解决方案 »

  1.   

    String str = new String(buf.getBytes("iso8859-1"),"utf-8");
      

  2.   

    晕,这个读出来数据就是byte[] 类型,不是String.我的思路是byte[] ->String ->byte[];
      

  3.   

    新手 随便说说buf如果新生成已经是utf-8类型了,调用getBytes()用默认平台的字符转换字节是不这个有问题
      

  4.   


    getBytes()
              使用平台默认的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。
      

  5.   

    得到String之后,直接byte[] bytes = str.getBytes("utf-8");不可以吗?
      

  6.   

    byte b[] = {};
    加入你的一个文本文件,编码是gb2312
    String strCode = "gb2312";
    String buf = new String(b,strCode);
    b = buf.getBytes("UTF-8");