java中gbk转utf-8

public class GbkToUtf8 {

	public static void main(String[] args) throws IOException {
		File filein = new File("G:/test.txt");
		File fileout = new File("G:/result1.txt");

		BufferedReader br = new BufferedReader(new FileReader(filein));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileout, true), "utf-8"));

		String line = null;
		StringBuilder content = new StringBuilder();

		while((line = br.readLine())!=null){
			String iso = new String(line.getBytes("utf-8"),"iso-8859-1");
			String utf8 = new String(iso.getBytes("iso-8859-1"),"utf-8");
			content.append(utf8);
		}

		bw.write(content.toString());

		br.close();
		bw.close();
	}
}

时间: 2024-10-11 18:59:15

java中gbk转utf-8的相关文章

java中的char中unicode和utf的关系

char是Java的基础类型(原类型 ),是字符类型.在Java中字符是基于Unicode编码的,所以一个Java的字符占2个字节,字符的内容存的是unicode的码值(二进制数字).问题来了,程序是怎么把unicode的码值转换为我们要的程序数据?例如:汉字的'汉'对应的unicode码值为:0x6C49.我们想要的程序数据为'汉',而计算机存储的为码值.如何把码值‘0x6c49’显示为‘字’,需要一个转换过程. 这个转换过程需要一个转换规则.转换规则的书面写法为UTF(UCS Transfo

深入分析 Java 中的中文编码问题 (文章来自网络)

许令波,developerWorks 中国网站最佳作者,现就职于淘宝网,是一名 Java 开发工程师.对大型互联网架构设计颇感兴趣,喜欢钻研开源框架的设计原理.有时间将学到的知识整理成文章,也喜欢记录下工作和生活中的一些思考.个人网站是:http://xulingbo.net. 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言.由于人类的语言有太多,因而表示这些语言

深入分析 Java 中的中文编码问题(1)

几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言.由于人类的语言有太多,因而表示这些语言的符号太多,无法用计算机中一个基本的存储单元—— byte 来表示,因而必须要经过拆分或一些翻译工作,才能让计算机能理解.我们可以把计算机能够理解的语言假定为英语,其它语言要能够在计算机中使用必须经过一次翻译,把它翻译成英语.这个翻译的过程就是编码.所以可以想

[转]深入分析 Java 中的中文编码问题

收益匪浅,所以转发至此 原文链接: http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/ 深入分析 Java 中的中文编码问题 编码问题一直困扰着开发人员,尤其在 Java 中更加明显,因为 Java 是跨平台语言,不同平台之间编码之间的切换较多.本文将向你详细介绍 Java 中编码问题出现的根本原因,你将了解到:Java 中经常遇到的几种编码格式的区别:Java 中经常需要编码的场景:出现中文问题的原因分析:在开发 Java

字符编码及java中的应用总结小记

这几日突然想搞清楚常见字符编码(ASCII.GBK.UTF.Unicode.ISO-8859-1)的关系及项目中可能存在的相关隐患,网上搜索了一大堆资料,这里结合代码实测,简单做个小结: 浅谈这几种编码的出现 1.1 ASCII 我们知道,在计算机内部,所有信息最终被表示为二进制字符串,每个二进制位有1和0两种表现形式,位是内存最小存储单位,其中8位构成一个字节,字节是数据存储的最小单元,因此8个二进制位即一个字节可以表示256个符号,从00000000-11111111. 上个世纪60年代,美

(转载)深入分析 Java 中的中文编码问题

文章源出处   http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/ 几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言.由于人类的语言有太多,因而表示这些语言的符号太多,无法用计算机中一个基本的存储单元—— byte 来表示,因而必须要经过拆分或一些翻译工作,才能让计算机能理解

深入分析 Java 中的中文编码问题--转

几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言.由于人类的语言有太多,因而表示这些语言的符号太多,无法用计算机中一个基本的存储单元—— byte 来表示,因而必须要经过拆分或一些翻译工作,才能让计算机能理解.我们可以把计算机能够理解的语言假定为英语,其它语言要能够在计算机中使用必须经过一次翻译,把它翻译成英语.这个翻译的过程就是编码.所以可以想

深入分析 Java 中的中文编码问题(转)

简介: 编码问题一直困扰着开发人员,尤其在 Java 中更加明显,因为 Java 是跨平台语言,不同平台之间编码之间的切换较多.本文介绍 Java 中编码问题出现的根本原因,你将了解到:Java 中经常遇到的几种编码格式的区别:Java 中经常需要编码的场景:出现中文问题的原因分析:在开发 Java web 程序时可能会存在编码的几个地方,一个 HTTP 请求怎么控制编码格式?如何避免出现中文问题? 几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不

字符编码介绍及java中的应用

字符编码,就是对日常的控制符号.文字和常用符号的二进制表示.为了准确的表示如何编号,怎么生产八位字节流,Unicode Technical Report (UTR) #17提出现代编码模型的5个层次: 1.  抽象字符表:系统所支持的所有抽象字符的集合 2. 编码字符集:就是通过某种规则把抽象字符映射到编码空间的一个码位 3. 字符编码表:把码位转换成有限位长的整数值串,utf-8等. 4. 字符编码方案:把定长的整数转化为8bit 5. 传输编码语法:为了满足传输的需要,进一步处理字节流,ba