在JavaScript中打印字节数组的十六进制或十进制值 JavaScript中有一个函数,它期望字节数组从本地C++代码传递到它。例如: function OnEvent(event, data1) { console.log("data1[0] = " + data1[0]); }
我想让它打印0x55,甚至是它的十进制值。出于某种原因,我在控制台日志中看到以下内容: 如何在不打印字符的情况下打印字节的十六进制值甚至十进制值在JavaScript中打印字节数组的十六进制或十进制值 JavaScript中有一个函数,它期望字节数组从本地C++代码传递到它。例如: function OnEvent(event, data1) { console.log("data1[0] = " + data1[0]); },javascript,c++,char,byte,Javascript,C++,Char,Byte,我想让它打印0x55,甚至是它的十进制值。出于某种原因,我在控制台日志中看到以下内容: 如何在不打印字符的情况下打印字节的十六进制值甚至十进制值 更新 感谢Vinothbabu,我访问了下面的链接。我使用了解包功能: function unpack(str) { var bytes = []; $("#homePage").append("str.length = " + str.length + "<br>"); for(var i = 0, n
更新 感谢Vinothbabu,我访问了下面的链接。我使用了解包功能:
function unpack(str) {
var bytes = [];
$("#homePage").append("str.length = " + str.length + "<br>");
for(var i = 0, n = str.length; i < n; i++) {
var char = str.charCodeAt(i);
$("#homePage").append("char is equal to " + char + "<br>");
bytes.push(char >>> 8, char & 0xFF);
}
return bytes;
}
函数解包(str){
var字节=[];
$(“#主页”)。追加(“str.length=“+str.length+”
”;
对于(var i=0,n=str.length;i”);
push(char>>>8,char&0xFF);
}
返回字节;
}
它打印“char等于65533”,而“bytes”的值打印出“255253”,这意味着它的值为0xFFFD
这不是我所期望的数据/有效负载。你知道为什么会有2个字节吗?我相信这可以解决问题:
console.log("data1[0] = " + data1[0].toString(16));
请尝试数据1[0]。toString(16)谢谢Vinothbabu。我关注了你关于包装/拆包的链接。但是,使用unpack():
code
函数unpack(str){var bytes=[];$(“#homePage”).append(“str.length=“+str.length+””);for(var i=0,n=str.length;i
code
它打印“char等于65533”,字节打印出255253,这意味着它的值为0xFFFD