我正在尝试将函数从PHP转换为java。但是,我无法找到方法或解决方法来实现我想要的结果。有人可以帮我解决这个问题:
function adjustId($id)
{
$data = strrev(pack("L",$id));
$data = bin2hex(ltrim($data));
while(strlen($data) < 6)
$data = "0".$data;
return hex2bin($data);
}
编辑:
strrev()
相当于java中的reverse(),
pack("L",)
表示无符号长整数(总是32位,机器字节顺序)&#39;,因此Java应根据这些格式返回二进制字符串。
Bin2Hex
只是将二进制字符串转换为十六进制。
ltrim()
从字符串
strlen()
是字符串的长度。
EDIT2:
该方法现在看起来像这样:
public byte[] adjustId(String id)
{
String data;
data = strrev(pack("L", id));
data = BinHex.bin2hex(data.replaceAll("^\\s+","").getBytes());
while(data.length() < 6) {
data = "0" + data;
}
return BinHex.hex2bin(data);
}
BinHex
是hex2bin问题的单独类。剩下的唯一问题是pack()
功能。如果有人能解决这个问题,我将不胜感激。