在PHP中像Java一样操作字节
我有一个Java函数,我需要一个PHP中的等效函数。如果有帮助的话,我用这个来解析MD5散列
public static byte[] asBin(String paramString)
{
if (paramString.length() < 1)
return null;
byte[] arrayOfByte = new byte[paramString.length() / 2];
for (int i = 0; i < paramString.length() / 2; i++) {
int j = Integer.parseInt(paramString.substring(i * 2, i * 2 + 1), 16);
int k = Integer.parseInt(paramString.substring(i * 2 + 1, i * 2 + 2), 16);
arrayOfByte[i] = ((byte)(j * 16 + k));
}
return arrayOfByte;
}
现在我得到了这个,但输出结果不一样
function asBin($str){
if($str == "") return null;
$bytes = array();
for($i = 0; $i < strlen($str) / 2; $i++){
$j = intval(substr($str, $i * 2, $i * 2 + 1), 16);
$k = intval(substr($str, $i * 2 + 1, $i * 2 + 2), 16);
$bytes[$i] = intval($j * 16 + $k);
}
return $bytes;
}
# 1 楼答案
这就是答案(您需要在代码中添加一些更改):
详细信息:
备选答案:
您还可以使用一个映射更改您的函数。 根据您的代码,可能的答案-只需为所有数字对生成php映射:
我们有: