字节(byte、B)

是计量单位,表示数据量,是计算机信息技术用于计量存储的一种计量单位,一字节等于8位(1byte=8bit/1B=8b)

字符 (Character)

计算机中使用的字母、数字、字和符号,比如'A'、'B'、'$'、'&'等。

字节与字符的关系

  • ASCII 码中,一个英文字母(不分大小写)为一个字节,一个中文汉字为两个字节。
  • UTF-8 编码中,一个英文字为一个字节,一个中文为三个字节。
  • Unicode 编码中,一个英文为一个字节,一个中文为两个字节。
  • UTF-16 编码中,一个英文字母字符或一个汉字字符存储都需要 2 个字节(Unicode 扩展区的一些汉字存储需要 4 个字节)。
  • UTF-32 编码中,世界上任何字符的存储都需要 4 个字节。
  • 符号:英文标点为一个字节,中文标点为两个字节。例如:英文句号 . 占1个字节的大小,中文句号 占2个字节的大小。
字符所占的字节数跟操作系统的位数也有关系。
1024个字节(1024B)=1KB。1024K=1MB,1024MB=1GB,1024GB=1TB;
中文字符在电脑中占用2个字节,也就是说,512个中文字=1KB。

UTF8,UTF16,UTF32的区别


  • ASCII码:代表0 ~ 127的常用字符的编码,全称是American Standard Code for Information Interchange,即美国信息交换标准代码,主要用于英语字符的显示。
  • Unicode码:由于世界上有多种语言字符,数量越来越多,因此在综合了各种语言后推行一种统一的编码标准,是世界范围内广泛使用。跟秦始皇“车同轨,书同文”一样,大大方便了交流沟通(在计算机层面上),这就是Unicode编码。好处在于既保留了传统ASCII编码,0 ~ 127依然代表原来的ASCII字符,又扩展了更多的语言,因此更加便于流通。Unicode编码范围是:0 ~ 0x10FFFF
  • UTF: 全称是Unicode Transformation Format,是Unicode编码的实现方式,UTF8, UTF16, UTF32是Unicode的三种实现方式,将同一个Unicode编码用不同的转换标准进行转换,将转换后的编码用于文件存储或数据通信。
注意:不可以直接使用Unicode编码本身,由于各个Unicode编码不同,有的很简单如0, 有的很复杂如0xFFFF,在解码时没有固定的标准是无法解析出正确的字符的。为了兼顾各个Unicode的差异,以及节省存储空间,出现了UTF8, UTF16, UTF32等多种编码标准。实质上都是Unicode字符的一种实现方式
                        
原文链接:https://blog.csdn.net/m0_47975736/article/details/123120476