ruby – 如何将Base64编码的字符串转换为UUID格式
发布时间:2020-12-17 03:56:39 所属栏目:百科 来源:网络整理
导读:如何将Base64编码的字符串转换为带有破折号的十六进制编码字符串(基本上是uuid格式)? 例如,如果我有 'FWLalpF2T5mmyxS03Q+hNQ0K' 那怎么能把它转换成: 1562da96-9176-4f99-a6cb-14b4dd0fa135 解决方法 我熟悉unpack,但这促使我学习了cremno指出的指令. 最
如何将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") 给我们: #=> ["x15bxDAx96x91vOx99xA6xCBx14xB4xDDx0FxA15rn"] 这是一个数组,所以我们使用.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" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |