Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 字符串到字节数组_C#_Javascript_Asp.net - Fatal编程技术网

C# 字符串到字节数组

C# 字符串到字节数组,c#,javascript,asp.net,C#,Javascript,Asp.net,我必须在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;

我必须在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);
string strShared_Key=“6fc2e550abc4ea333395346123456789”;
int nLength=共享密钥长度;
字节[]keyMAC=新字节[NLENGHT/2];
对于(int i=0;i
这是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;
    }
函数String2Bin16bit(inputString){
var str=”“;//字符串
var arr=[];//字节数组
对于(变量i=0;i
您需要
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
}
var str=“aabbcc”//一串
var arr=[];//字节数组
对于(变量i=0;i
问题/解决方案的可能副本有两种方法。epascarello-此示例对于16位不起作用。我尝试编写以下函数,但没有输出在.net函数中得到的确切值。函数String2Bin16bit(inputString){//var str=“aabbcc”//string var arr=[];//字节数组(var i=0;iarr[i/2]=arr.push,这没有意义
arr.push
只是将值添加到数组中,因此不需要索引。是的,它是javascript,但结果与.net函数不同。我改为函数String2Bin16bit(inputString){var str=”“;//string var arr=[];//字节数组(var I=0;I