大家好,欢迎来到IT知识分享网。
一.常见的几种编码格式
1.ASIIC
2.GB2312
3.GBK
4.Unicode
5.UTF8
- 对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。
- 对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。
②编码
根据字符在unicode表中的位置决定改字符使用哪种模式存储。utf8提供了三种模式:
| 模式 | UTF8 | UNICODE |
|---|---|---|
| 单字节 | 0xxxxxxx | 0000 – 007F |
| 双字节 | 110xxxxx 10xxxxxx | 0080 – 07FF |
| 三字节 | 1110xxxx 10xxxxxx 10xxxxxx | 0800 – FFFF |
二.GBK和UTF8的相互转换
前面介绍了UTF8和UNICODE两种编码的编解码规则,UTF8是为解决unicode存储问题而出现的。有个问题,GBK和unicode是否有直接的转换规则。答案是没有。因为GBK是针对中文出的编码方式,而Unicode是ISO为了统一世界上所有的编码方式而出现的。因此,unicode制定时并没有兼容GBK,同一个字符在GBK和unicode上面的编码只能通过一一映射对应起来。因此,GBK无法和UTF8直接完成转换,UTF8要转换为GBK,需要先转换为UNICODE,之后再转换为GBK。
附录
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/117341.html