• java基础52 编码与解码


    1、解码与编码的含义

        编码:把看得懂的字符变成看不懂的码值,这个过程就叫编码
        解码:根据码值查到相对应的字符,我们把这个过程就叫解码

    注意:编码与解码时,我们一般使用统一的码表,否则非常容易出现乱码

    2、常见的码表

        1. ASCII:美国标准信息交换码。用一个字节的7位可以表示。
        2. ISO8859-1:拉丁码表。欧洲码表,用一个字节的8位表示。
        3. GB2312:英文占一个字节,中文占两个字节.中国的中文编码表。
        4.GBK:中国的中文编码表升级,融合了更多的中文文字符号。
        5.Unicode:国际标准码规范,融合了多种文字。所有文字都用两个字节来表示,Java语言使用的就是unicode。
        6.UTF-8:最多用三个字节来表示一个字符。
    我们接触最多的是iso8859-1、gbk、utf-8三种编码

    注意:ASCII码用7位表示一个字符,共128个字符,不够256个。 ISO-8859-1码是ASCII码的拓展,用8位表示一个字符,共256个字符。即:ISO8859-1码包含ASCII码

    3、实例

     1 package com.dhb.file;
     2 
     3 import java.io.IOException;
     4 import java.util.Arrays;
     5 
     6 /**
     7  * @author DSHORE / 2018-7-19
     8  *
     9  */
    10 public class Demo26 {
    11     public static void main(String[] args) throws IOException {
    12         String str1 = "中国";
    13         byte[] buf1 = str1.getBytes("utf-8");//MyEclipse控台默认的是gbk编码
    14         System.out.println("数组(utf-8):"+Arrays.toString(buf1));
    15         
    16         str1 = new String(buf1,"utf-8");
    17         System.out.println(str1);
    18         str1 = new String(buf1,"gbk");
    19         System.out.println(str1);//乱码,因为编码时用utf-8,解码时用gbk
    20         
    21         String str2 = "a我爱中国";
    22         byte[] buf2 = str2.getBytes("Unicode");//编码与解码的时候指定的码表Unicode实际上就是用utf-16
    23         System.out.println("数组(Unicode):"+Arrays.toString(buf2));
    24         
    25         String str3 = "大家好";
    26         byte[] buf3 = str3.getBytes();//默认使用gbk进行编码
    27         //System.out.println(Arrays.toString(buf3));
    28         str3 = new String(buf3,"ISO8859-1");
    29         System.out.println(str3);//乱码,因为编码时用gbk,解码时用ISO8859-1
    30         //出现乱码之后可以还原吗?
    31         byte[] buf4 = str3.getBytes("ISO8859-1");
    32         str3 = new String(buf4,"gbk");
    33         System.out.println(str3);
    34         //出现乱码之后都可以还原吗?     答:不一定能,例如:ASCII码和ISO8859-1码(有一部分不能)。因为ISO8859-1包含ASCII
    35     }
    36 }

    运行结果图

    原创作者:DSHORE

    作者主页:http://www.cnblogs.com/dshore123/

    原文出自:https://www.cnblogs.com/dshore123/p/9340285.html

    欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!

  • 相关阅读:
    【转】软链接和硬链接到底有啥作用和区别
    useradd命令详解
    【转】Linux下MySQL数据库安装及配置方法
    【转】MySQL的安装与配置——详细教程-window系统下
    mysql服务器常用命令
    【转】DDL/DML/DCL区别概述
    tmux终端工具的简单使用
    linux go环境安装和基本项目结构
    ClickHouse高可用集群的配置
    centos7下使用rpm包安装clickhouse
  • 原文地址:https://www.cnblogs.com/dshore123/p/9340285.html
Copyright © 2020-2023  润新知