从bit到字节,再到字符,半角,全角。

最近开始学习mysql,存储数据的时候,对数据的长度需要研究,于是要解决下一直都心存疑问的bit开始。


以下为摘要总结:


bit:比特;byte:字节。
一个bit就是一个二进制数的最小单元。
一个比特只能拥有一个值,不是0就是1,所以如果我给你一个值0,你可以说它就是一个bit,如果我给你两个(00),你就可以说它们是两个比特了。 
现在,如果你将八个0或者1组合在一起,例如0110 1010(在中间加一个空格是为了看起来清晰明了),你就可以说它们是八个比特或者说一个字节。好,这就对了,八比特就等于一字节,而不管它们都是全是0、全是1或者是由若干0和若干1混合而成。 
将这些字节加起来,到了1024个字节的时候,就获得了一个千字(Kbyte)了,为什么是1024而不是1000呢?这是由二进制的进位方式造成的,如果你学过数学,你就会知道上述结果是正确的。 
1bit:就是1位二进制数. 
1Byte:就是1个字节.1个字节是由8个二进制位组成的. 
所以1Byte=8bit.


半月就是半角,全月就是全角,
半角代表一个字符占一个字节,全角代表一个字符占两个字节。
汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。一般的系统命令是不用全角字符的,只是在作文字处理时才会使用全角字符。
通常的英文字母、数字键、符号键都是半角的,半角的显示内码都是一个字节。在系统内部,以上三种字符是作为基本代码处理的,所以用户输入命令和参数时一般都使用半角。
例如:,.?'! ……这些是半角的

,。?‘! ……这些是全角的


“字节”与“字符”
它们完全不是一个位面的概念,所以两者之间没有“区别”这个说法。不同编码里,字符和字节的对应关系不同:
①ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。
②UTF-8编码中,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。
③Unicode编码中,一个英文等于两个字节,一个中文(含繁体)等于两个字节。
符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。
④UTF-16编码中,一个英文字母字符或一个汉字字符存储都需要2个字节(Unicode扩展区的一些汉字存储需要4个字节)。
⑤UTF-32编码中,世界上任何字符的存储都需要4个字节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值