UTF-8和UTF-16是什么?有哪些区别?老男孩Linux运维
 老男孩IT教育
老男孩IT教育
 常见问题
常见问题
 2021年10月14日 16:36
2021年10月14日 16:36
大部分人认为计算机是万能的,殊不知其实计算机只认识01这样的字符串,为了让大众理解的更清楚,后来就用十进制、八进制、十六进制来进行表示,实际都是一样的,只不过转换成进制方便我们查看和使用,UTF-8和UTF-16就是这样的存在,那两者有何区别呢?请看下文:
大部分人认为计算机是万能的,殊不知其实计算机只认识01这样的字符串,为了让大众理解的更清楚,后来就用十进制、八进制、十六进制来进行表示,实际都是一样的,只不过转换成进制方便我们查看和使用,UTF-8和UTF-16就是这样的存在,那两者有何区别呢?请看下文:

| UTF-8
编码规则较简单,如果只有1个字节,那最高比特位为0,如果有多个字节,那么第1个字节从最高位开始,连续有几个比特位的值为1,剩下的字节均以10开头,具体表现形式为:
0xxxxxxx:单字节编码形式;
110xxxxx 10xxxxxx:双字节编码形式;
1110xxxx 10xxxxxx 10xxxxxx:三字节编码形式;
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx:四字节编码形式。
优势在于没有字节序的概念,非常适用于字符串的网络数据传输,不需要考虑大小端问题,对于非英文网页,可以有效避免各种乱码问题。
| UTF-16
使用2个或4个字节进行存储,对于Unicode编号范围在0~FFFF之间的字符,UTF-16使用2个字节存储,不需要进行编码转换,跟UTF-32类似,对于Unicode编号范围在10000~10FFFF之间的字符,UTF-16使用4个字节存储。
优势在于常用字符都可以使用2个字节表示,所以在Windows操作系统上,特别适合使用wchar_t作为字符串的存储基类型,1个wchar_t表示1个字符,操作起来非常方便。
关于"UTF-8和UTF-16是什么?有哪些区别?"的话题到这里就结束了,老男孩教育10年技术沉淀,真实案例结合理论授课,使学员更好的过渡到工作岗位,想深入的学习Linux云计算运维的知识,可以关注下老男孩教育。
推荐阅读:
【微服务技术】Docker中有哪些常用命令?Docker命令详解
 本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。
本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。
                     老男孩教育专注IT教育10余年,只培养IT技术精英
老男孩教育专注IT教育10余年,只培养IT技术精英 全国免费咨询电话(渠道合作):400-609-2893
全国免费咨询电话(渠道合作):400-609-2893 
                     
                     
                            

 
                        









 
         
                         
                         扫码加入Go语言学院讨论学习群
扫码加入Go语言学院讨论学习群 
                            
                         最新文章
最新文章 
                                         
                                         
                                        