如果我使用UUID1作为列名,然后使用php检索它们如何将该UUID转换为可读的字符串,以便将该字符串插入到HTML中,然后再使用它来选择将同一列转换回UUID?这甚至有可能吗?Cassandra将UUID转换为字符串并返回
我可以用UTF8或其他东西去,但我想避免碰撞,并获得有序的宽行,我真的需要将这些列名称存储到HTML,我看不到任何其他方式来做到这一点。我正在使用phpcassa
。
如果我使用UUID1作为列名,然后使用php检索它们如何将该UUID转换为可读的字符串,以便将该字符串插入到HTML中,然后再使用它来选择将同一列转换回UUID?这甚至有可能吗?Cassandra将UUID转换为字符串并返回
我可以用UTF8或其他东西去,但我想避免碰撞,并获得有序的宽行,我真的需要将这些列名称存储到HTML,我看不到任何其他方式来做到这一点。我正在使用phpcassa
。
你可以施放UUID对象的字符串得到一个不错的打印版本。该相同的字符串可与UUID::import()
一起使用以再次创建相同的UUID对象:
use phpcassa\UUID;
$uuid = UUID::uuid1();
$pretty_uuid = (string)$uuid;
echo("Printable version: " . $pretty_uuid . "\n");
$uuid_copy = UUID::import($pretty_uuid);
assert ($uuid == $uuid_copy);
假设你正在UUID作为字节[],您可以使用这样的事情:
public Object convertFromNoSqlImpl(byte[] value) {
byte[] timeArray = new byte[8];
byte[] clockSeqAndNodeArray=new byte[8];
System.arraycopy(value,0,timeArray,0,8);
System.arraycopy(value,8,clockSeqAndNodeArray,0,8);
long time = StandardConverters.convertFromBytes(Long.class, timeArray);
long clockSeqAndNode = StandardConverters.convertFromBytes(Long.class, clockSeqAndNodeArray);
UUID ud = new UUID(time,clockSeqAndNode);
return ud;
}