解决php函数hex2bin()报错Hexadecimal input string must ha

在用php函数hex2bin()把16转换成字符串时,三丰云如果输入的16进制数据有误,16进制字符串长度不是偶数位导致转换失败。16进制转换成字符串失败时Hexadecimal input string must have an even length问题可以用以下代码解决。

php
$str = ‘687474703a2f2f7a697875657068702e6e65742f696e6465782e68746d6c’;
// 过滤非16进制字符
$str = strspn($str, ‘0123456789abcdefABCDEF’);
//字符串长度不是偶数时pack来处理
if (strlen($str) % 2) {
echo pack(“H*”, $str);
} else {
echo hex2bin($str);

    原文作者:wx5dda6b37dff90
    原文地址: https://blog.51cto.com/14623694/2453076
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞