写这边文章的目的是为了让很多朋友少走弯路, 因为我也上网查了下 没有看到比较好的文章
都是一些什么数组比较啊 类似下图这样的 而且百度上我看到的大部分都是这类 我也不知道是谁写的
这个效率应该是极差的 后面还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