栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

tomcat7 乱码 为什么这样解决 编码本质 几行代码 深入理解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

tomcat7 乱码 为什么这样解决 编码本质 几行代码 深入理解

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();
            
        }

    }



}

请看我的代码注释 ,演示很明确。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/712051.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号