package com.neil.note; import java.io.UnsupportedEncodingException; import java.util.Arrays; public class Practice { public static void main(String[] args) { try { String s="小白"; //浏览器请求参数 转化为字符集数组 byte[] utf_8bytes=s.getBytes("utf-8");// //字符数组转为二进制字符集 传到tomcat服务器 字符集数组 System.out.println("utf8"小白"的字符集数组"+Arrays.toString(utf_8bytes));// [-27, -80, -113, -25, -103, -67] //tomcat 再使用iso8859-1把utf8的字符集解码(这里应该是先将字符集编码为ISO8859-1,再解出) //因为和utf8 解出的标准不同,所以就乱码啦。 // 每一个终端的本质都是将二进制流 先编码 再解码 才能变成认类理解的文字,图像,视频 String tomcatdisplay=new String(utf_8bytes, "ISO-8859-1");//å°ç½ byte iso_bytes[] = tomcatdisplay.getBytes("ISO-8859-1"); System.out.println("iso8859-1"乱码"的字符数集组"+Arrays.toString(iso_bytes));//[-27, -80, -113, -25, -103, -67] String normalStr = new String(iso_bytes,"utf-8"); System.out.println(normalStr);//小白 } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } }
请看我的代码注释 ,演示很明确。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)