php中的mb_detect_encoding函数原理是什么

发布于 2022-08-30 00:04:22 字数 139 浏览 10 评论 0

php中的mb_detect_encoding可以根据输入的字符串判断它到底属于哪种编码,这种判断是如何进行的,utf-8和asc的宽度都不一样,而且前者还是变长的,它如何判断多出来的那个字节到底是属于下一个字的还是这个字最后一个字节

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鹊巢 2022-09-06 00:04:22

与其说utf-8ascii区别,不如说如何判断 ascii和非ascii
ascii最大是127,判断时,只要这个字节大于127,也就是7f,就可以认定是这个字节属于多字节编码。不论是GBK还是UTF-8 都是兼容ascii
1. utf-8 每个字的第一个字节,有表示这个字总共有多少个字节。所有变长的数据类型基本是这么实现的, 比如数据库的varchar也是有多出来的字节保存长度,就不会误读。
2. GBK是等宽双字节的,只要这个字节不是ascii字符,就把它和下一个读在一起就OK 了
3. 至于如何猜测 utf-8gbk,我也不了解。猜测应该是通过一些算法,去匹配编码规律或码表吧,关于这个可以参考:http://blog.csdn.net/ecjtuync/article/details/1774429

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文