zoukankan      html  css  js  c++  java
  • 常用字符集编码

    简介

    常见的编码格式有ASCII、ISO-8859-1、GB2312、GBK、GB18030、UNICODE等,其中GB2312、GBK、GB18030、UTF-8、UTF-16都可以用来表示中文。

    为什么有编码

    计算机中最小的存储单位是字节(byte),一个字节所能表示的字符数又有限,1byte=8bit,一个字节最多也只能表示255个字符,而世界上的语种又多,都有各种不同的字符,无法用一个byte表示,所以java中的char表示字符就是来解决这种编码问题的,一个char占两个字节,所以从char到最小单位byte之间必须经过编码。

    常用编码

    ASCII

    全称为American Standard Code for Information Interchange,美国信息交换标准代码,这是世界上最通用的单字节编码系统,主要用来显示现代英语及其他西欧语言。

    ASCII码用7位表示,只能表示128个字符,0~31表示控制字符如回车、退格、删除等;32~126表示打印字符即可以通过键盘输入并且能显示出来的字符,

    其中48~57为0到9十个阿拉伯数字,65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等,具体可以参考ASCII标准表。

    最顶端1位二进制为0

    ISO-8859-1

    既然ASCII只能表示128个字符,显示是不能完全表示完的,所以ISO-8859-1扩展了ASCII编码,在ASCII编码之上又增加了西欧语言、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号,它是向下兼容ASCII编码的。

    ISO-8859-1也是单字节编码,但它是一个8位的容器,它能表示256个字符。

    最顶端1位也用来表示具体含义

    GB2312

    全称为信息交换用汉字编码字符集,是中国于1980年发布,主要用于计算机系统中的汉字处理。GB2312主要收录了6763个汉字、682个符号。

    GB2312覆盖了汉字的大部分使用率,但不能处理像古汉语等特殊的罕用字,所以后来出现了像GBK、GB18030这种编码。

    每个汉字及符号以两个字节来表示,通常采用EUC储存方法,以便兼容于ASCII。

    GBK

    GBK,全称为Chinese Internal Code Specification,即汉字内码扩展规范,于1995年制定。它主要是扩展了GB2312,在它的基础上又加了更多的汉字,它一共收录了21003个汉字。

    GBK是向下兼容GB2312编码的,也就是说GB2312编码的汉字可以用GBK正常解码不会出现乱码,但用GBK编码的汉字用GB2312解码就不一定了。

    不管中英文都是以两个字节来表示

    GB18030

    GB18030全称汉字内码扩展规范,是现在最新的内码字集于2000年发布,并于2001年强制执行,包含了中国大部分少数民族的语言字符,收录汉字数超过70000余个。

    它主要采用单字节、双字节、四字节对字符编码,它是向下兼容GB2312和GBK的,虽然是我国的强制使用标准,但在实际生产中很少用到,用得最多的反而是GBK和GB2312。

    ANSI

    ANSI不是一种编码,他是微软为了满足不同的客户需求,而在系统中默认的一种编码,即美国国内的系统默认就用ASCII编码,中国人的系统默认就用GBK编码,韩国人的系统默认就用EUC-KR编码。

    相关文章

    unicode家族:https://www.cnblogs.com/xiaofengshan/p/13287369.html
    16进制字符串和byte数组进行相互转换:https://www.cnblogs.com/xiaofengshan/p/15224551.html

    参考

    ANSI: https://blog.csdn.net/imxiangzi/article/details/77370160
    ASCII、ISO-8859-1、GB2312: https://blog.csdn.net/moakun/article/details/80178590

    XFS
  • 相关阅读:
    SharePoint网站迁移问题
    使用.NET框架自带的Json序列化类
    IL:Hello World
    Javascript面向对象
    抽象代数学习记录
    关于集成测试
    用QTP脚本操作腾讯QQ好友买卖功能
    关于白盒测试一些资料
    Developer小记
    架构设计
  • 原文地址:https://www.cnblogs.com/xiaofengshan/p/15235517.html
Copyright © 2011-2022 走看看