1
我需要将系统生成的GUID转换为Byte [16]数组,然后将这些十进制值转换为十六进制值字符串。疯狂,我知道,我非常乐于采用比我尝试过的更有效的方法!使用PHP将GUID转换为Byte数组?
我试过这个GUID的PHP解压缩()函数,但似乎无法得到正确的格式。我试过c *,C *和所有其他可能的格式。
这里是我开始与GUID:
GUID: dwRhRSIjlGXhAAAAkuFQ0A
的字节[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
再次,任何建议,非常感谢。
经过进一步调查,看来我上面使用的$ str实际上是一个base64二进制值。我现在正在研究如何将base64解码为十六进制。 – Gunnar 2011-05-19 06:43:23
您的解决方案让我走上正轨!我所要做的只是base64_decode上面的$ str以获取文本,然后使用您的代码将文本转换为十六进制。再次感谢! – Gunnar 2011-05-19 07:21:24