如何从UUID的字符串/规范表示中获取16字节的二进制形式:
例如:1968ec4a-2a73-11df-9aca-00012e27a270
谢谢, /Marcin
$bin = pack("h*", str_replace('-', '', $guid));
因此,在运行PHP 32位的小端系统上,最准确的方式(也可能是最快的方式)是:
$bin = call_user_func_array('pack',
array_merge(array('VvvCCC6'),
array_map('hexdec',
array(substr($uuid, 0, 8),
substr($uuid, 9, 4), substr($uuid, 14, 4),
substr($uuid, 19, 2), substr($uuid, 21, 2))),
array_map('hexdec',
str_split(substr($uuid, 24, 12), 2))));
pack
进行混淆。pack
。