您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 邵阳分类信息网,免费分类信息发布

php接收二进制文件如何替换里面的内容

2024/6/21 21:16:42发布5次查看
php接收二进制文件怎么替换里面的内容
php接收二进制文件如下:
接收的二进制文件中非标准字符(>0x7f)的字节被替换为三个字节,比如e2替换为ef 9f a2
现在我想在php接收到文件之后还原回去,把ef 9f a2替换为e2,请问这个怎么实现?
非常感谢!
php 二进制
------解决方案--------------------
他的数据转换规则是这样的:
文件头不变,文件头多长不清楚,图上到0050h都一样的
>=80的字节,高位加上f7,再转utf-8,例如e2就变成f7e2然后转utf-8成为ef 9f a2
至少他图中e2/fb/91/b2/81...都满足这个规则
------解决方案--------------------
本帖最后由 xuzuning 于 2013-05-02 15:35:02 编辑 用正则可这样写
假定数据已把存在变量 $s 中,则$s = preg_replace_callback('/[\xef]../', 'foo', $s);
function foo($r) {
$c = (ord($r[0]{1}) & 0x03) << 6;
$c += (ord($r[0]{2}) & 0x3f);
return chr($c);
}

邵阳分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录