繁体   English   中英

字符串到字节数组

[英]String to byte array

我必须在JavaScript中将字符串转换为字节(16位)。 我可以在.net中的以下代码中完成此操作,但必须为使用JavaScript的旧经典asp应用程序进行更改。

string strShared_Key = "6fc2e550abc4ea333395346123456789";
int nLength = strShared_Key.Length;
byte[] keyMAC = new byte[nLength / 2];
for (int i = 0; i < nLength; i += 2)
    keyMAC[i / 2] = Convert.ToByte(strShared_Key.Substring(i, 2), 16);

这是JavaScript函数,但不会返回与上述.net代码相同的结果。

function String2Bin16bit(inputString) {
        var str = ""; // string 
        var arr = [];       // byte array 
        for (var i = 0; i < inputString.length; i += 2) {
            // get chunk of two characters and parse to number 
            arr.push(parseInt(inputString.substr(i, 2), 16));
        }
        return arr;
    }

您需要parseInt(x, 16)来将x读取为数字,并牢记以x为底的16进行解析。

var str = "aabbcc"; // string
var arr = [];       // byte array
for(var i = 0; i < str.length; i += 2) {
    arr.push(parseInt(str.substr(i, 2), 16)); // get chunk of two characters and parse to number
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM