php检测文件编码的方法示例 绝对完美性能绝对高

本文介绍了一种高效检测PHP文件UTF-8编码的方法,通过比较文件前3个字节,避免了低效的数组比较和MD5运算,适合在Windows平台上使用。
摘要由CSDN通过智能技术生成

写这边文章的目的是为了让很多朋友少走弯路, 因为我也上网查了下  没有看到比较好的文章

都是一些什么数组比较啊 类似下图这样的 而且百度上我看到的大部分都是这类 我也不知道是谁写的 

这个效率应该是极差的 后面还md5  这到底要消耗多少性能 咱就不说了  

我这里使用的方法只需要比较3个字节  我相信很多做过c++的朋友应该知道  utf8 unicode的文档的二进制开头是不一样的

这里我们需要借助一个神器 winhex  做过逆向的应该对这个不陌生   那么直接上图

可以看到文件里的内容是123456 但是开头是有3个字节的  这3个字节代表是utf-8编码的文档

那么我们只要在代码里判断这3个字节 是不是等于这个值 就可以知道 他是不是utf-8编码的文档 

这3个字 我们称为硬编码  是永远不会变的 不管任何utf-8的编码的文档 只要在win平台 绝对就是这个值

大家可以自己试下  另存为utf-8编码 看一下 就知道了 

下面上php代码

$hFile = fopen($filename,"rb");
    if ($hFile)
    {
        $fileData = fread($hFile,filesize($filename));
    }
    fclose($h
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值