`
frankensteinlin
  • 浏览: 55213 次
  • 性别: Icon_minigender_1
  • 来自: ShangHai
社区版块
存档分类
最新评论

java 转码

阅读更多
java 转码很简单。
[1]要搞清楚转面源的编码,保证读取进来的字符串是正确的。
   BufferedReader in = new BufferedReader(new InputStreamReader(
				new FileInputStream(f), "GB2312"));

[2]字符串被正确读取后,保存在java中的就是unicode字符集的序列码了。
[3]gbrs.getBytes("UTF-8") 写入目标编码。这一步其实就已经正确的编码了。返回的数组就是编好码的数组
	public static void printBytes(byte[] bytes){
		for (int i = 0; i < bytes.length; i++) {
			int j = (int) bytes[i];
			System.out.println("coding: ------------------"
					+ Integer.toHexString(j));
		}
		
	System.out.println();
				
	}

  		printBytes(gbrs.getBytes("GB2312"));
		
		printBytes(gbrs.getBytes("UTF-8"))

[4]最后用真确的编码转换成字符串
		
		   System.out.println(Charset.availableCharsets());

		File f = new File("/home/linwei007/temp/aa");

		BufferedReader in = new BufferedReader(new InputStreamReader(
				new FileInputStream(f), "GB2312"));
		String gbrs = in.readLine();
		System.out.println(gbrs);
		
		printBytes(gbrs.getBytes("GB2312"));
		
		printBytes(gbrs.getBytes("UTF-8"));

	    System.out.println(new String(gbrs.getBytes("UTF-8"),"UTF-8"));


1
2
分享到:
评论
1 楼 shayu1989 2012-06-13  
sorry  本来想点顶的  不小心点错了   。。
抱歉

相关推荐

Global site tag (gtag.js) - Google Analytics