欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

IO流:字符编码

程序员文章站 2022-07-05 16:11:48
...

【一】一般情况下遇到乱码的解决方式就是再次编码解码

1.代码

import java.util.*;
class EncodeDemo 
{
	public static void main(String[] args) throws Exception
	{
		String s="我爱学习";
		byte[] by=s.getBytes("GBK");
		System.out.println(Arrays.toString(by));//编码
		
		String s1=new String(by,"iso8859-1");//解码
		System.out.println("s1="+s1);

		byte[] by2=s1.getBytes("iso8859-1");
		System.out.println(Arrays.toString(by2));//再次编码

		String s2=new String(by2,"GBK");//再次解码
		System.out.println("s2="+s2);

	}
}

2.截图

IO流:字符编码

【二】特殊情况

1.代码

import java.util.*;
class EncodeDemo 
{
	public static void main(String[] args) throws Exception
	{
		String s="我爱学习";
		byte[] by=s.getBytes("GBK");
		System.out.println(Arrays.toString(by));//编码
		
		String s1=new String(by,"UTF-8");//解码
		System.out.println("s1="+s1);

		byte[] by2=s1.getBytes("UTF-8");
		System.out.println(Arrays.toString(by2));//再次编码

		String s2=new String(by2,"GBK");//再次解码
		System.out.println("s2="+s2);

	}
}

2.截图

IO流:字符编码

3.原因:

GBK和UTF-8都是对中文识别的,所以再次编码解码仍然存在乱码。

相关标签: 编码 解码