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.截图
【二】特殊情况
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.截图
3.原因:
GBK和UTF-8都是对中文识别的,所以再次编码解码仍然存在乱码。
上一篇: url解码实现