4
我有一個變量,我們稱之爲myNum
,它包含一個32位值。我想把它變成一個4字節的字符串,其中字符串的每個字節對應於myNum
的一部分。將整數轉換爲字符串
我試圖做類似如下(不工作):
var myNum = someFunctionReturningAnInteger();
var str = "";
str += String.charCodeFrom((myNum >>> 24) & 0xff);
str += String.charCodeFrom((myNum >>> 16) & 0xff);
str += String.charCodeFrom((myNum >>> 8) & 0xff);
str += String.charCodeFrom(myNum & 0xff);
例如,如果myNum
等於350則str
會是什麼樣0x00
,0x00
,0x01
,0x5e
當我用wireshark檢查它時。
charCodeFrom()
只有當我想要每個單獨的字節的值< = 0x7f。有沒有獨立於瀏覽器的方式來做我想做的事情?
謝謝
問題的精彩描述。但是,一旦字符串命中Javscript,它將是UTF16,所以還有另一層翻譯問題。 –
謝謝!而且,是的,內部的「字節」將使用UTF16編碼......但是,除了字符串將佔用您預期的兩倍的內存這一事實之外,我想不出任何會由此導致的問題特別是......有沒有? –
只是注意到UTF8和UTF16編碼是不同的,所以八位字節序列將會不同。我經常不使用UTF16,但我確信'x80'會被編碼爲'\ x00 \ x80'(UTF16)而不是'x \ c2 \ x80'(UTF8) –