包含javagbk转utf8的词条

本篇文章给大家谈谈javagbk转utf8,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java怎么将gbk编码的文件转成utf-8编码

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.nio.charset.Charset;

public class gbk2utf8 {

 如州  public static void main(String[] args) throws InterruptedException, IOException {

      gbk2utf8 tt = new gbk2utf8();

      tt.copyAll("E:\\mine\\GitHub\\mytest\\myJar\\src", "E:/test");

   }

   

   public void copyAll(String dir,String des) throws IOException{

      

      File parent = new File(dir);

      System.err.println(parent.getAbsolutePath());

      String[] allFile = parent.list();

      

  渣卖蔽    for (String string : allFile) {

         File file = new File(dir+"/"+string);

         if(file.isFile()){

            this.copy(file,des);

         配碧}else{

            File newDes = new File(des+"/"+string);

            if(!newDes.exists()) newDes.mkdir();

            this.copyAll(dir+"/"+string,des+"/"+string);

         }

      }

   }

   

   public void copy(File file,String des) throws IOException{

      BufferedReader br = new BufferedReader(new InputStreamReader(

            new FileInputStream(file), Charset.forName("gbk")));

      BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(

            new FileOutputStream(des+"/"+file.getName()), Charset.forName("UTF-8")));

      String lineTxt = null;

      while ((lineTxt = br.readLine()) != null) {

         bw.write(lineTxt);

         bw.newLine();

      }

      bw.flush();

      bw.close();

      br.close();

   }

}

java中GBK编码格式转成UTF8,用一段方法实现怎么做

java中GBK编码格式转成UTF8编码格式的方法如下:

    public static void main(String[] args) throws Throwable {

        String errStr = "errStr";

        System.out.println(recover(errStr));

    }

    public static String recover(String str) throws Throwable {

        return new String(str.getBytes("GBK"), "UTF-8");

    }

其中errStr就是乱码字符串,按照相反的顺序在编码(用gbk)、解码(用utf-8)回去,就能得到正确的字符串.

    GBK、UTF-8是一种“编码格式”,是用来序列化或存储“编号(数字)”的一种“格式”;GBK和UTF-8都是用来序列化或存储unicode编码的数据的,但是分别是2种不同的格式; 除判并了格式不一样之外,所关心的unicode编码范围也不一样,utf-8考虑了很多种不同国家的字符,涵盖整个unicode码表,所以其存储一个字符的编码的时候,使用的字节长度也从1字节到4字节不等;而GBK只考虑中文——在unicode中的一小部分信答——的字符,的编码,所掘坦迹以算好了只要2个字节就能涵盖到绝大多数常用中文(2个字节能表示6w多种字符),所以存储一个字符的时候,所用的字节长度是固定的;

[img]

java如何把string转为utf-8

java不同编码之间进行转换,都需要使用unicode作为中转。

String str = "任意字符串";

str = new String(str.getBytes("gbk"),"utf-8");

备注说明:

str.getBytes("UTF-8"); 意思是以UTF-8的编码取得字节

new String(XXX,"UTF-8"); 意思是以UTF-8的编码生成字符串

举例:

public static String getUTF8XMLString(String xml) {

// A StringBuffer Object

StringBuffer sb = new StringBuffer();

sb.append(xml);

String xmString = "";

String xmlUTF8="";

try {

xmString = new String(sb.toString().getBytes("UTF-8"));

xmlUTF8 = URLEncoder.encode(xmString, "UTF-8");

System.out.println("utf-8 编码:" + xmlUTF8) ;

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

// return to String Formed

return xmlUTF8;

扩展资料:

UTF-8编码规则:

如果只有一个字节则其最高二进制位为0;如果是多字节,颤郑其第一个字节从最高位开始,连续的二进制位值为1的个数决定了饥冲其编码的字节数,其余各字节均以10开头。

实际表示ASCII字符的UNICODE字符,将会编码成1个字节,并且UTF-8表示与ASCII字符表示是一样的。所有其他的UNICODE字符转化成UTF-8将需要至少2个字节。每个字节由一个换码序列开始。第一个字节由唯一的换码序列,由n位连续的1加一位0组成,首字节连续的1的个数表示字符编码所需的字节数。

Unicode转换为UTF-8时,可以将Unicode二进茄肢颂制从低位往高位取出二进制数字,每次取6位,如上述的二进制就可以分别取出为如下示例所示的格式,前面按格式填补,不足8位用0填补。

参考资料来源:百度百科:UTF-8

java中GBK编码格式转成UTF8,用一段方法实现怎么做?

package url; import java.io.UnsupportedEncodingException; public class GBK2UTF8 { public static void main(String[] args) throws UnsupportedEncodingException { String chinese = 中型渣文;java内唯空部编码 String gbkChinese = new String(chinese.getBytes(GBK),ISO-8859-1);转换成gbk编码 String unicodeChinese = new String(gbkChinese.getBytes(ISO-8859-1),GBK);java内部编码 System.out.println(unicodeChinese);中文 String utf8Chinese = new String(unicodeChinese.getBytes(UTF-8),ISO-8859-1);utf--8编码 System.out.println(utf8Chinese);乱卜山悄码 unicodeChinese = new String(utf8Chinese.getBytes(ISO-8859-1),UTF-8);java内部编码 System.out.println(unicodeChinese);中文 } }

java 怎么gbk转码utf-8

方法一:

思路:先转为Unicode,然后转为GBK

String utf8 = new String(t.getBytes( "UTF-8"));  

System.out.println(utf8);  

String unicode = new String(utf8.getBytes(),"UTF-8");   

System.out.println(unicode);  

String gbk = new String(unicode.getBytes("GBK"));  

  

System.out.println(gbk);

方法二:

public static void main(String[] args) {

        String str="字符串编码转换";

        try {

          byte[] temp=str.getBytes("utf-8");//这里写原编码方式

       轮瞎    磨派 byte[] newtemp=new String(temp,"utf-8").getBytes("gbk"腊游空);//这里写转换后的编码方式

            String newStr=new String(newtemp,"gbk");//这里写转换后的编码方式

            System.out.println(newStr);

        } catch (UnsupportedEncodingException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

    }

关于javagbk转utf8和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表