【问题标题】:Convert String to UUID formatted string [duplicate]将字符串转换为 UUID 格式的字符串 [重复]
【发布时间】:2014-09-17 15:58:18
【问题描述】:

是否有任何实用方法可将纯字符串转换为 UUID 格式的字符串?

例如:

纯字符串: f424376fe38e496eb77d7841d915b074

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

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

【问题讨论】:

  • 插入破折号怎么样?

标签: java string formatting uuid utility


【解决方案1】:

您可以通过以下方式简单地使用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();

【讨论】:

    猜你喜欢
    • 2015-05-04
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 2019-03-14
    • 2019-04-01
    • 1970-01-01
    • 2020-07-23
    • 1970-01-01
    相关资源
    最近更新 更多