簡體   English   中英

在JavaScript中打印字節數組的十六進制或十進制值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM