让我们考虑以下情况。Go例程创建一个字节数组,将一个Uint64数字5577006791947779410以8个字节的大端形式打包为[77, 101, 130, 33, 7, 252, 253, 82]。在JavaScript代码中,我将这些字节作为Uint8Array接收。我们知道JavaScript目前不支持Uint64作为安全数值类型,并且不能对大于32位的整数执行位运算,因此像buf [0] << 56这样的操作永远不起作用。那么,将这些字节直接解码为数值字符串“5577006791947779410”的过程是什么?
P.S. 我知道在 JavaScript 中有很多 处理大整数的 库, 但通常它们都非常庞大并提供大量的数学运算,而我在这里不需要。我正在寻找一个简单的、现代的、直接的解决方案,只需要将 BE-packed 的 Uint64 和 Int64 字节解码为数字字符串。你有什么想法吗?
uint64
很有效。为了使其与int64
一起使用,我需要做哪些修改?我在这里创建了一个游乐场:https://jsfiddle.net/wcqLj1qg/。 - VisioN