首页 > 编程知识 正文

位字节字之间的关系,字符字节字位的关系

时间:2023-05-03 13:56:45 阅读:197818 作者:2692

之前一直对这个问题一知半解,导致最近的学习中很多问题处理的模棱两可,于是终于忍无可忍,决定把这个问题系统的处理一遍。 ψ(*`ー´)ψ

1 字节 = 8 二进制位

这个毋庸置疑,在每种情况下都是成立的。(字节就是所谓的 ‘KB’ 中的那个 ‘B’)

1 字符 = ?字节

“字符” 和 “字节” 对应的关系就没那么简单了,这取决于程序使用了什么样的 “编码方式”。
用我们最熟悉的记事本做实验,先建一个空的 “ANSI” 编码格式的 .txt 文件:
可以发现,它的原本大小为 0 字节
分别填写一个英文和一个中文,观察:
得出结论:ANSI 编码方式,英文(包含英文特殊符号) = 1字节 、 中文(包含中文特殊符号) = 2字节

同理,实验 unicode 编码方式:
你会发现空的 .txt 文件在 unicode 编码方式下竟然有 2 字节的大小 !(这里不解释了就,否则就跑题了)
继续在 unicode 编码的 .txt 文件中测试英文和中文:

结论是 unicode 编码下,英文和中文都占 2 个字节。

同理实验 utf-8 ,初始大小 3 字节,英文占 1 字节,中文占 3 字节(这里就不截图了)

总结一下:

编码英文中文ANSI(ASCII 的扩展)1字节2字节UTF-81字节3字节Unicode2字节2字节GBK1字节2字节

网上的老哥们说字符对应的字节数和机器长度也有关系,这里先贴出来,有大神知道的话希望帮我解释解释。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。