JAVA的编码问题,

代码,跟测试结果如下, 对比红色部份

import java.io.IOException;

public class EncodingTest {
	
	public static void main(String[] args) throws IOException {
		
		
		String str="“我爱你,我喜欢你”这几个字是常常能听见的,也是听得不想在听的了�";
		System.out.println(str);
		
		String rs=new String (str.getBytes("utf-8"));
		System.out.println(rs);
		
		String temp=new String (rs.getBytes("gbk"),"utf-8");
		System.out.println(temp);
		
	}

}


结果:
“我爱你,我喜欢你”这几个字是常常能听见的,也是听得不想在听的了?
鈥滄垜鐖变綘锛屾垜鍠滄浣犫?濊繖鍑犱釜瀛楁槸甯稿父鑳藉惉瑙佺殑锛屼篃鏄惉寰椾笉鎯冲湪鍚殑浜嗭拷
“我爱你,我喜欢你???这几个字是常常能听见的,也是听得不想在听的了?

 

 

迷糊啊
String str="“我爱你,我喜欢你”这几个字是常常能听见的,也是听得不想在听的了 ";
System.out.println(str);
  
这一步是用utf-8解码字符串,再转成gbk输出,就是这一步有些字符串GBK不支持

浣犫?濊繖
应该是
浣犫€濊繖
String rs=new String (str.getBytes("utf-8"));
System.out.println(rs);

 

这一步是用gbk解码字符串,再转成utf-8输出  
String temp=new String (rs.getBytes("gbk"),"utf-8");
System.out.println(temp);

 

 

这问题要怎么解决呢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值