字节、字符以及字符编码之间的关系
⼀、简介
可能很多⼈都有遇到过这样⼀个问题:“字符与字节有什么区别?”
其实,字符与字节它们完全是两个不同的的概念,所以两者之间也没有“区别”这⼀说法。通俗的来说,字节是⼀种储存数据的单位,⽽字符则是⼀些平常我们使⽤的⽂字符号(如字母、数字、标点符号)。
⼆、字节
字节(Byte)是计算机信息技术⽤于计量存储容量的⼀种计量单位,通常情况下⼀字节等于有⼋位,也就是⼆进制的00000000到11111111,所以⼀个字节(Byte)可区别256(2的8次⽅)个数字(字符)。
单位换算规则:
8bit(位) = 1Byte
1024Byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
1024PB = 1EB
1024EB = 1ZB
1024ZB = 1YB
1024YB = 1BB
1024BB = 1NB
1024NB = 1DB
三、字符编码
这⾥先对⼏个概念做个简单的介绍:
ascii共有多少个字符
字符——⽂字与符号的统称(如字母、数字、标点符号)
字符集——就是各种字符的集合
字符编码——就是为字符集中的每⼀个字符规定⼀串对应⼆进制数的⼀套规则(如在ASCII码中,⼤写的字母A是01000001)
字符编码(也称字集码)的种类有⾮常多,每个国家也会根据⾃⼰的⽂字类型来规定适⽤的字符编码。
常见的字符编码有:ASCII、 Unicode、UTF-8、GBK(简、繁体字融于⼀库)、GB2312(简体中⽂字符集)、Big5(繁体中⽂字符集)等。
1、ASCII 码
美国根据⾃⼰的26个字母,规定了⼀套共128个字符的编码,叫ASCII码。每个ASCII字符占⽤1 个字节,⽽⼀个字节能够表⽰256个字符,所以标准的ASCII码只使⽤了⼀个字节的后⾯7位,最前⾯的1位统⼀规定为0。
标准ASCII码包含了33个控制字符(具有某些特殊功能但是⽆法显⽰的字符)和95个可显⽰字符。
微软记事本带来的⿇烦:在 UTF-8 ⽂件中放置 BOM 主要是微软的习惯,Windows的记事本有个臭名昭著的破⽑病就是在 UTF-8 ⽂件开头加BOM,在不⽀持或者未识别utf8编码的环境下,该BOM会被解析成乱码“"”,导致问题。
其它相关类型:UTF-16(字符⽤两个字节或四个字节表⽰)、UTF-32(字符⽤四个字节表⽰)
四、参考
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论