gpt4 book ai didi

ruby - 如何将 Base64 编码的字符串转换为 UUID 格式

转载 作者:数据小太阳 更新时间:2023-10-29 07:22:26 26 4
gpt4 key购买 nike

如何将 Base64 编码的字符串转换为带有破折号的十六进制编码的字符串(基本上是 uuid 格式)?

例如如果我有

'FWLalpF2T5mmyxS03Q+hNQ0K' 

那我怎样才能把它转换成:

1562da96-9176-4f99-a6cb-14b4dd0fa135

最佳答案

我熟悉 unpack 但这促使我学习 cremno 指出的指令。

最简单的形式:

b64 = 'FWLalpF2T5mmyxS03Q+hNQ0K'
b64.unpack("m0").first.unpack("H8H4H4H4H12").join('-')

#=> "1562da96-9176-4f99-a6cb-14b4dd0fa135"

b64.unpack("m0")

给我们:

#=> ["\x15b\xDA\x96\x91vO\x99\xA6\xCB\x14\xB4\xDD\x0F\xA15\r\n"]

这是一个数组,因此我们使用 .first 获取字符串并使用指令再次解压缩以将其格式化为 8-4-4-4-12 格式:

b64.unpack("m0").first.unpack("H8H4H4H4H12")

给我们:

#=> ["1562da96", "9176", "4f99", "a6cb", "14b4dd0fa135"]

一个字符串数组,所以现在我们只需将它与 - 连接起来:

b64.unpack("m0").first.unpack("H8H4H4H4H12").join('-')

#=> "1562da96-9176-4f99-a6cb-14b4dd0fa135"

关于ruby - 如何将 Base64 编码的字符串转换为 UUID 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31844321/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com