我正在翻译一个应用程序从Java到PHP,我发现一些麻烦。十六进制从爪哇到PHP
我有这样98191107990D0000EF050000789C65970BCCD75318C7CFEFFC
串...在Java中有这个功能,我通过这个字符串作为参数:
private static byte[] decodeNibbleHex(String input)
{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
char[] chars = input.toCharArray();
for (int i = 0; i < chars.length - 1; i += 2) {
char[] bChars = new char[2];
bChars[0] = chars[i];
bChars[1] = chars[(i + 1)];
int val = Integer.decode("0x" + new String(bChars)).intValue();
baos.write((byte)val);
}
return baos.toByteArray();
}
但是...我不知道翻译在PHP这个功能...我尝试了太多次,我变得疯了!我尝试了一个for循环,与此eval("\$hex = 0x" . $dati[$i].$dati[$i+1] . ";");
和此$binary_string = pack("h*" , $dati[$i].$dati[$i+1]);
和许多其他许多功能...
如果有人了解Java并可以帮助我,我会感激它!
谢谢你们!
我们能看到你的尝试吗?也许它非常接近,需要小小的调整。 – vcsjones 2012-07-30 17:56:22
预期产量是多少? – 2012-07-30 18:09:05