ネイティブ C++ コードからバイト配列が渡されることを期待する JavaScript の関数があります。例えば:
function OnEvent(event, data1)
{
console.log("data1[0] = " + data1[0]);
}
0x55 またはその 10 進値を出力したいと思います。何らかの理由で、コンソール ログに次のように表示されます。
文字を印刷せずにバイトの16進値または10進値を印刷するにはどうすればよいですか?
アップデート
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 is equal to 65533」と出力され、「bytes」の値は「255, 253」と出力されます。これは、値が 0xFFFD であることを意味します。
これは、私が期待していたデータ/ペイロードではありません。なぜ2バイトなのか知っていますか?