>我需要将系统生成的 GUID 转换为 Byte[16] 数组,然后将这些十进制值转换为十六进制值字符串。 疯了,我知道,我非常愿意接受比我尝试过的更有效的方法!
我已经在这个GUID上尝试了PHP的unpack()函数,但似乎无法获得正确的格式。 我已经尝试了c*,C*和所有其他可能的格式。
以下是我开始使用的 GUID:
GUID: dwRhRSIjlGXhAAAAkuFQ0A
我尝试填充的 Byte[16] 数组应如下所示:
$bytearray = array(119,4,97,69,34,35,-108,101,-31,0,0,0,-110,-31,80,-48);
一旦我得到这个$bytearray值,我就可以轻松地使用 PHP 的 dechex() 函数将这些十进制值中的每一个转换为相应的十六进制值。 此转换的最终结果应如下所示:
DEC: HEX
119: 77
4: 4
97: 61
69: 45
34: 22
35: 23
-108: 94
101: 65
-31: E1
0: 00
0: 00
0: 00
-110: 92
-31: E1
80: 50
-48: D0
再次,非常感谢任何建议。
我不确定我真的得到了你想要的......你想要一个数组,其中包含你ID中字符的ASCCI代码的十六进制值,对吗?
$str = "dwRhRSIjlGXhAAAAkuFQ0A";
$bytes = array();
for($i=0,$l = strlen($str);$i<$l;$i++)
{
$bytes[] = dechex(ord($str[$i]));
}