【发布时间】:2018-05-18 03:40:42
【问题描述】:
我得到了一个 32 位大端无符号整数数组,基本上纯文本是这样的[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
那个32位字节序数组本身是用二进制base64编码的AAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEA==
最初,如果我从天堂收到此消息,那么现在如何将所有内容解码/解压缩为 JavaScript 中可理解的纯文本表示形式。
在 ruby 中,我可以简单地使用 Base64.decode 和 String#Unpack
encoded_string = 'AAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEA=='
decoded_string = Base64.strict_decode64(encoded_string)
=> "\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\a\x00\x00\x00\b\x00\x00\x00\t\x00\x00\x00\n\x00\x00\x00\v\x00\x00\x00\f\x00\x00\x00\r\x00\x00\x00\x0E\x00\x00\x00\x0F\x00\x00\x00\x10"
decoded_string.unpack('N*') #32-bit unsigned, network (big-endian) byte order
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
在 JavaScript 中是否有相当于这个简单步骤的方法?
【问题讨论】:
-
你可以看看这个:developer.mozilla.org/en-US/docs/Web/API/WindowBase64/…应该是你要找的工具。
-
为什么会有一个 [ruby] 标签?
-
添加 Ruby 代码以供参考是可以的,但如果您正在寻求 Rubyists 的帮助,请添加
[ruby]标签。
标签: javascript base64 endianness