字符串到字节数组

时间:2011-09-20 11:42:35

标签: c# javascript asp.net

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

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;
    }

1 个答案:

答案 0 :(得分:1)

您希望parseInt(x, 16)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
}