我在Java中有此代碼,我希望將其轉換爲PHP。它可能與從ASCII轉換爲二進制,然後轉換爲十六進制相關,但我不太確定自己。請有人幫忙嗎?將Java代碼轉換爲php - 也許大約十六進制爲二進制
String clearKey = "test";
char [] hexArray = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
byte [] bytes = clearKey.getBytes();
String keyId = "";
for (int i = 0 ; i < clearKey.length() ; i ++) {
keyId = keyId + hexArray[(bytes[i] & 0xFF)/16] + hexArray[(bytes[i] & 0xFF) % 16];
}
System.out.println(keyId);
這是我走到這一步:
代碼的第二行或許可以被轉換成這樣:
$bytes = bin2hex($clearKey);
但我不知道下面的等價代碼在PHP:
hexArray[(bytes[i] & 0xFF)/16] + hexArray[(bytes[i] & 0xFF) % 16];
其他信息
我將此代碼轉換爲正確的Java語法。
這不是Ruby代碼,它看起來有點像Java的。 –
@ p11y直到for/next循環中缺少括號的地方,但我確信它是Java,否則 –
@owlstead是的,代碼中有一些錯誤。例如,也沒有稱爲「字節」的類型,作者可能是指「字節」。但是,數組符號和'getBytes()'立即讓我想到了Java。 –