其他分享
首页 > 其他分享> > 字符集编码大杂烩

字符集编码大杂烩

作者:互联网

编码的概念

           计算机存放数据只能存放数字,所有字符都会被转换成不同的数字。本文多少借鉴了一点其他大佬的珍贵笔记,主要记录了本人对"ASCII"、"GBK"、"Unicode"、"UTF-8"这几种字符集的理解

1.ASCII

        于是就有了最初的ASCII码,但是ASCII,但是ASCII码只能表示0-127(Math.pow(2,8))范围内的数字对应的字符,但随着计算机的发展这显然非常不够用,毕竟计算机还要支持其他语言比如中文比如法语,但是问题不大发展一下就可以了,于是就有了ISO-8859-1 ASCII。

        ISO-8859-1 ASCII主要支持数字和西欧字母,和ASCII概念差不多,不过多表述。

2. GBK

    GBK全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification) ,别问为啥不是英语首字母,年轻人要爱国,问就是拼音缩写

        就比GBK这个字库就支持咋博大精深的中文,并且向上兼容ISO-8859-1。

        但是如果每个国家出一个字库那调起来不就很麻烦吗,于是Unicode应运而生

3. Unicode

1)Unicode的基本情况

        统一码,也叫万国码、单一码(Unicode)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。我们现在用的也还是这个。

        然后你会凸凸我说不对啊我们现在用的Utf-8、Utf-16我知道Unicode是编码格式但是..

        这里要排雷,Utf-8和UTF系列都是在Unicode的基础上面衍生出来的。

        首先UTF是“UCS Transformation Format”的缩写,可以翻译成Unicode字符集转换格式,本质上还是对Unicode进行转换。

        转换的原因是Unicode要存放很多很多数据,且每个数字都有4个字节,在某些情况下字节过长会占用比较大的开销,所以就出现了UTF系列的子编码。比如UTF-8对数字和字母就使用一个字节,而对汉字就使用3个字节,从而到达了合理利用资源的效果

2)关于字节长度

unicode是2个字节。(1字节8位 1Byte=8bit)

这一标准的2字节形式通常称作UCS-2。然而,受制于2字节数量的限制,UCS-2只能表示最多65536个字符。

Unicode的4字节形式被称为UCS-4或UTF-32,能够定义Unicode的全部扩展,最多可定义100万个以上唯一字符

标签:编码,UTF,字节,字符集,GBK,大杂烩,Unicode,UCS,ASCII
来源: https://blog.csdn.net/wutrg1502/article/details/120768876