我正在将一个应用程序从 java 转换为 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 循环,使用 thiseval("\$hex = 0x" . $dati[$i].$dati[$i+1] . ";");
和 this$binary_string = pack("h*" , $dati[$i].$dati[$i+1]);
以及许多其他功能......
如果有人了解 Java 并且可以帮助我,我将不胜感激!
谢谢大家!