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

时间:2014-09-18 11:47:25

标签: javascript bytearray google-closure-library

使用谷歌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...

当看到'decoding'和'decoding1'值时,两者看起来都像是字节数组。

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

decoded1   [133,236,158,189,234,242,162,119]

那么,这里的问题是什么?为什么'decode1'有效并且'解码'不是?

谢谢!

1 个答案:

答案 0 :(得分:1)

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