字符和字节的概念及区别解析

电子常识

2610人已加入

描述

  不管是做为一个开发,还是一个测试,在实际工作中都会遇到这样一个问题,比如:这个input框的长度是多少多少,然后你要去测试,输入的内容是否符合需求,这里会涉及到两个概念,那就是字符和字节。那么它们之间有什么区别呢?

  一、字符

  字符含义

  字符是指计算机中使用的字母、数字、字和符号,包括:1、2、3、A、B、C、!·#¥%……—*()——+等等。在 ASCII 编码中,一个英文字母字符存储需要1个字节。在 GB 2312 编码或 GBK 编码中,一个汉字字符存储需要2个字节。在UTF-8编码中,一个英文字母字符存储需要1个字节,一个汉字字符储存需要3到4个字节。在UTF-16编码中,一个英文字母字符或一个汉字字符存储都需要2个字节(Unicode扩展区的一些汉字存储需要4个字节)。在UTF-32编码中,世界上任何字符的存储都需要4个字节。

  字符表达

  字符是可使用多种不同字符方案或代码页来表示的抽象实体。例如,Unicode UTF-16 编码将字符表示为 16 位整数序列,而 Unicode UTF-8 编码则将相同的字符表示为 8 位字节序列。微软的公共语言运行库使用 Unicode UTF-16(Unicode 转换格式,16 位编码形式)表示字符。

  字符作用

  针对微软公共语言运行库的应用程序使用编码将字符表示形式从本机字符方案映射至其他方案。应用程序使用解码将字符从非本机方案映射至本机方案。

  电脑和通讯设备会使用字符编码的方式来表达字符。意思是会将一个字符指定给某个东西。传统上,是代表整数量的位元序列,如此,则可透过网络来传输,同时亦便于储存。两个常用的例子是ASCII和用于统一码的UTF-8。根据谷歌的统计,UTF-8是目前最常用于网页的编码方式。相较于大部分的字符编码把字符对应到数字或位元串,摩斯密码则是使用不定长度的电子脉冲的序列来表现字符。

  二、字节介绍

  字节定义

  字节是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于有八位, 也表示一些计算机编程语言中的数据类型和语言字符。

  相关单位

  B与bit

  数据存储是以“字节”(Byte)为单位,数据传输是以大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位。

  B与iB

  1KB(Kibibyte)=1024byte

  1KiB(Kilobyte)=1000byte

  1MB(Mebibyte)=1048576byte

  1MiB(Megabyte)=1000000byte

  硬盘生产商是以GiB(十进制,即10的3次方=1000,如1MiB=1000KB)计算的,而电脑(操作系统)是以GB(2进制,即2的10次方, 如1MB=1024KB)计算的,但是国内用户一般理解为1MiB=1M=1024 KB, 所以为了便于中文化的理解,翻译MiB为MB也是可以的。

  同样根据硬盘厂商与用户对于1MB大小的不同理解,所以好多160G的硬盘实际容量按计算机实际的1MB=1024KB算都不到160G,这也可以解释为什么新买的硬盘“缺斤短两”并没有它所标示的那么大。

  注:10TB大约等于一个人脑的存储量。

  三、字符与字节的区别

  它们完全不是一个位面的概念,所以两者之间没有“区别”这个说法。不同编码里,字符和字节的对应关系不同:

  ①ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。

  ②UTF-8编码中,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。

  ③Unicode编码中,一个英文等于两个字节,一个中文(含繁体)等于两个字节。

  符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“。”占1个字节的大小,中文句号“。”占2个字节的大小。

  ④UTF-16编码中,一个英文字母字符或一个汉字字符存储都需要2个字节(Unicode扩展区的一些汉字存储需要4个字节)。

  ⑤UTF-32编码中,世界上任何字符的存储都需要4个字节。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分