位、字节、字符与字(字母跟汉字)的爱恨情仇

  • Post author:
  • Post category:其他


在开发过程中,我们经常遇到位、字节、字符以及字之间的关系。比如说

mysql

中创建表的时候我们一般都会使用

char(m),varcahr(n)

等,那你真的知道他们代表什么意思吗?不妨一起来讨论一下:

在这里插入图片描述

ps: 先来放个大招吧

位(bit):是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数。

字节(byte):是计算机中 数据处理 的基本单位,习惯上用大写 B 来表示,1B(byte,字节)= 8bit(位)

字符:是指计算机中使用的字母、数字、字和符号


  • ASCII

    码:


    1. 1个英文字母(不分大小写)= 1个字节的空间

    2. 1个中文汉字 = 2个字节的空间

    3. 1个ASCII码 = 一个字节

  • UTF-8

    编码:


    1. 1个英文字符 = 1个字节

    2. 1个英文标点 = 1个字节

    3. 1个中文(含繁体) = 3个字节

    4. 1个中文标点 = 3个字节

  • Unicode

    编码:


    1. 1个英文字符 = 2个字节

    2. 1个英文标点 = 2个字节

    3. 1个中文(含繁体) = 2个字节

    4. 1个中文标点 = 2个字节
因为网上的优质文章比较多,只是比较难寻找,
为了节省大家时间,我找了几篇比较好的文章放在下面。
  • 精选相关文章

  1. 计算机中,为什么一个字节是8位?

依据

ascill码表来分析,为什么一个字是8位


在这里插入图片描述


  1. ASCII、Unicode、UTF-8、UTF-16、GBK、GB2312、ANSI等编码方式简析

标准ASCII码占用一个字节,但是只用了后7位,第一位是0.一个字节本来可以表示256种不同情况,而由此ASCII码只有128种符号。这128种符号包括英文26字母的大小写、数字0-9、32个不可打印的控制字母、符号(就是我们在键盘上可以看到的符号)

在这里插入图片描述


  1. GBK,UTF-8,UTF-16之间的转换
  • 不同编码转换的理论基础

    1. UTF-16转UTF-8

    2. UTF-16转GBK

    3. UTF-16和UTF-8之间的转换



    在这里插入图片描述

  1. UTF-8, a transformation format of ISO 10646


    在这里插入图片描述

建议从1开始看,了解其所以然。

从小学数学的角度来看的话就是:

字 ≥ 字符 ≥ 字节 > 位



版权声明:本文为qq_45704048原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。