采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师你好,
“UTF-8 是以字节为单位为 Unicode 进行编码” 这句话是啥意思啊?没太理解。
同学很细心,这句话应该是老师在课上只是简单提到一下,不算是课程的重点内容,不过同学抓住了,这里简单介绍下,可以作为拓展去理解。
Unicode有多种UTF-的编码,UTF-8只是其中一种,还有UTF-16等等,他们的编码方式是不一样的,而UTF-8以字节为单位进行编码是相比其他方式的Unicode编码的不同之处。
非常感谢!
我在说的细一些 也让老师看看我理解的对不对 Unicode由于是万国码,很显然一个字节无法存储(因为一个字节的上限是256,其实就是ASCII扩展字符集),所以Unicode第一个版本是用2字节存储的(2个字节是2的16次方,共65536个) 其中0至127这128个数字表示的字符仍然跟ASCII完全一样 其中UTF-16就是无论什么字符都使用两个字节来表示,这时候问题就来了 比如a(还有所有的ASCII编码字符都一样)在ASCII中只需要一个字符,而用了Unicode,却需要两个字符,这不是浪费空间吗 所以聪明的工程师就创建了UTF-8,UTF-8的第一个位(是bit)表示了这个字符需要几个字节,如果是可以用一个字节表示的,那就占用一个字节大小,否则占用两个字节大小,所以可以认为UTF-8是UTF-16的一个优化版本,优化的是占用空间的大小 但事情有一利就有一弊,UTF-8的第一位被用来表示长度了,那相比UTF-16能存储的上限就少了,所以就有了后续的Unicode版本2,用四个字节存储字符,也就出现了UTF-32 原理都差不多 老师我的理解没问题吧?我记得这是我学php的时候老师讲的
是这样的,很详细的补充。点赞。
登录后可查看更多问答,登录/注册
编程之前先学这门课,系统补足计算机基础知识,夯实编程地基
3.4k 17
1.7k 14
1.2k 13
1.4k 11