[英]Print hex or decimal values of byte array in JavaScript
我在JavaScript中有一個函數,它期望從Native C ++代碼傳遞一個字節數組。 例如:
function OnEvent(event, data1)
{
console.log("data1[0] = " + data1[0]);
}
我想它打印0x55甚至十進制值。 出於某種原因,我在控制台日志中看到以下內容:
如何在不打印字符的情況下打印字節的十六進制值甚至十進制值?
UPDATE
感謝Vinothbabu,我去了下面的鏈接。 我使用了unpack函數:
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));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.