有没有可用的方法将普通字符串转换为UUID格式的字符串?
例如:
普通字符串: f424376fe38e496eb77d7841d915b074
UUID格式化字符串: f424376f-e38e-496e-b77d-7841d915b074
我只是想在不使用任何java逻辑的情况下转换为UUID格式,因此寻找java.lang,java.util或Apache等软件包中可用的预定义实用程序。
答案 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();