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

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

在开发过程中,我们经常遇到位、字节、字符以及字之间的关系。比如说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开始看,了解其所以然。

从小学数学的角度来看的话就是:字 ≥ 字符 ≥ 字节 > 位

相关文章
|
2月前
|
Python
汉字表达的数字
在Python中,将汉字表达的数字转换成阿拉伯数字可以通过编写一个函数来实现,该函数会解析输入的汉字数字字符串,并将其转换为相应的阿拉伯数字。这个过程通常涉及到对汉字数字单位(如一、十、百、千等)的识别和对应的数值计算。
22 5
|
9月前
|
存储 算法 索引
438. 找到字符串中所有字母异位词【我亦无他唯手熟尔】
438. 找到字符串中所有字母异位词【我亦无他唯手熟尔】
43 0
验证用户名,支持中英文(包括全角字符)、数字、下划线和减号 (全角及汉字算两位),长度为4-20位,中文按二位计数
验证用户名,支持中英文(包括全角字符)、数字、下划线和减号 (全角及汉字算两位),长度为4-20位,中文按二位计数
[oeasy]python0018_ ASCII_字符分布_数字_大小写字母_符号_黑暗森林
[oeasy]python0018_ ASCII_字符分布_数字_大小写字母_符号_黑暗森林
89 0
[oeasy]python0018_ ASCII_字符分布_数字_大小写字母_符号_黑暗森林
|
存储 编解码 前端开发
【编码篇】看破字符 %20 之谜,百分号编码以及其背后
提到这个 %20,想必大家都见过,熟悉一点编码的人,还会知道这玩意就是空格转换而来! 那么我们一起破解, 如何编码而来? 我们今天继续学习前端编码知识
563 0
【编码篇】看破字符 %20 之谜,百分号编码以及其背后
|
测试技术
汉字数字转阿拉伯数字
# 问题来源 # 这个问题,是看到有人提到带中文数字的章节标题,要排序的问题引起的。比如对于: ```python title_list = [ '第一章', '第三章', '第五章', '第四章', '第二章', ] ``` 想“正确”排序的话,你直接 ``title_list.sort()`` 是不行地: ```bash zys@tower:~$ py
721 0
最近,很烦躁,写字静不下心来。 图片发自简书App
641 0