javascript - 为什么 goog.crypt.base64.decodeStringToByteArray(string) 在这里返回无效的字节数组?

标签 javascript arrays google-closure-library

我在使用 google Closure-Library 时遇到以下问题。

var temp = "ks/ZUl6L5v77y7BHymYrFw====";  //sample string
var decoded = goog.crypt.base64.decodeStringToByteArray(temp);
var sha512 = new goog.crypt.Sha512();
sha512.update(decoded);
//Error: message must be a byte array

更改字符串使代码运行:

var temp1 = "heyeveryone";  //sample string
var decoded1 = goog.crypt.base64.decodeStringToByteArray(temp1);
var sha512 = new goog.crypt.Sha512();
sha512.update(decoded1);
//fine...

当查看“decoded”和“decoded1”值时,对我来说两者看起来都像字节数组。

已解码 [146、207、217、82、94、139、230、254、251、203、176、71、202、102、43、23、260]

解码1 [133、236、158、189、234、242、162、119]

那么,这里有什么问题吗?为什么“decoded1”有效而“decoded”无效?

谢谢!

最佳答案

第一个数组不是字节数组 - 260(最终值)不是字节值。确保您的编码值不超过 255

关于javascript - 为什么 goog.crypt.base64.decodeStringToByteArray(string) 在这里返回无效的字节数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25911827/

相关文章:

javascript - 如何从 JavaScript 通过 TCP 套接字进行通信?

javascript - 调用 $scope 函数的自定义指令导致 $rootScope :infdig

javascript - 按对象属性对 JavaScript 数组进行排序

java - 可以将 Java 数组传递给采用数组的 C/C++ 函数吗?

javascript - 使用 goog.events.listen 传递参数

javascript - 使用 dat.GUI 选择颜色设置三个 js 中的一个对象的颜色

c - 动态二维数组崩溃

javascript - 遍历同一行的元素

google-closure-compiler - 我如何使用closurebuilder来编译和缩小脚本

javascript - 如何使用 goog.provide 和 goog.require 加载我自己的 js 模块?