javascript - 在 JavaScript 中打印字节数组的十六进制或十进制值

标签 javascript c++ char byte

我在 JavaScript 中有一个函数,它期望将字节数组从 native C++ 代码传递给它。例如:

function OnEvent(event, data1)
{
     console.log("data1[0] = " + data1[0]);
}

我希望它打印 0x55 甚至它的十进制值。出于某种原因,我在控制台日志中看到以下内容:

enter image description here

如何在不打印字符的情况下打印字节的十六进制值甚至十进制值?


更新

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

它打印“char 等于 65533”,“bytes”的值打印出“255, 253”,这意味着它的值为 0xFFFD。

这不是我期望的数据/负载。你知道为什么有2个字节吗?

最佳答案

我相信这会成功:

console.log("data1[0] = " + data1[0].toString(16));

关于javascript - 在 JavaScript 中打印字节数组的十六进制或十进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19062302/

相关文章:

c++ - 调用 "spin"是什么意思

c++ - 将 std::less 与 nullptr 一起使用

c++ - 解决指针算术问题

c++ - 输入一个非数字值到一个 float

c++ - 将字符串转换为 char 指针可以指向的 char 数组/值的最有效方法是什么

javascript - 颜色不是从 Prop 渲染的

java - Vaadin 版本升级到 7.4.6 导致错误 "typeerror cannot read property ' noLayout' of undefined”

c - 静态字符数组与通过套接字发送的另一个字符数组之间的“字符串”比较

javascript - 在关联数组 javascript 中搜索值

javascript - 什么是记忆化?