我收到来自 SOAP 服务器的响应,它是一个字节数组,大小固定。
例如,我得到 { rsp: { errorNumber: '1', errorMessage: { item: [Object] } } }
[ '73',
'110',
'118',
'97',
'108',
'105',
'100',
'32',
'112',
'97',
'115',
'115',
'119',
'111',
'114',
'100',
'0']
Run Code Online (Sandbox Code Playgroud)
如何将该数组转换为字符串 javascript?
数组中的每个“字节”实际上是一个字符的 ASCII 码。 String.fromCharCode将每个代码转换为一个字符。
它实际上支持无限数量的参数,所以你可以这样做:
String.fromCharCode.apply(String, arr);
Run Code Online (Sandbox Code Playgroud)
在您的阵列上运行时,您会得到:"Invalid password".
正如@Ted Hopp指出的那样,0最后将向字符串添加一个空字符。要删除它,只是做:.replace(/\0/g,'')。
String.fromCharCode.apply(String, arr).replace(/\0/g,'');
Run Code Online (Sandbox Code Playgroud)