将String转换为UUID格式的字符串

时间:2014-09-17 15:58:18

标签: java string formatting uuid utility

有没有可用的方法将普通字符串转换为UUID格式的字符串?

例如:

普通字符串: f424376fe38e496eb77d7841d915b074

UUID格式化字符串: f424376f-e38e-496e-b77d-7841d915b074

我只是想在不使用任何java逻辑的情况下转换为UUID格式,因此寻找java.lang,java.util或Apache等软件包中可用的预定义实用程序。

1 个答案:

答案 0 :(得分:9)

您可以通过以下方式简单地使用String.format

String plain = "f424376fe38e496eb77d7841d915b074";
String uuid = String.format("%1$-%2$-%3$-%4$", plain.substring(0,7), plain.substring(7,11), plain.substring(11,15), plain.substring(15,20));

或者使用Apache Commons Codec(org.apache.commons.codec.binary.Hex类)和JDK(java.util.UUID类)的更多库方法:

byte[] data = Hex.decodeHex("f424376fe38e496eb77d7841d915b074".toCharArray());
String uuid = new UUID(ByteBuffer.wrap(data, 0, 8).getLong(), ByteBuffer.wrap(data, 8, 8).getLong()).toString();