2017-05-16 43 views
-5

首先,我會告訴你 我不會說英文,但我想嘗試獲取如何在Javascript中實現Perl包來製作node.js模塊的信息。JavaScript Perl包

爲此,我想獲得更多關於Perl包的信息。特別是,我特別想知道的信息是「C,H *,N」。另外,如果我可以獲得更多關於jspack的信息,那將是美好的。

預先感謝您。

日本語(Japan)

+0

[-f的perldoc包(http://perldoc.perl.org/functions/pack.html) –

+1

有教程特別旨在提供有關不同語言和更多信息,尤其是創作者提供的文檔。 SO不是一個教程網站,請嘗試問一些很多人可以從中受益的東西。 – Zeke

回答

0
pack 'C'

pack 'N'pack 'H*'用於創建一個字節序列。

my $bytes = pack('C', $uint8); 

# Array of bytes 
var bytes = []; 
bytes.push(uint8); 

# String of bytes 
var bytes = ""; 
bytes += String.fromCharCode(uint8); 

my $bytes = pack('N', $uint32); 

# Array of bytes 
var bytes = []; 
bytes.push((uint32 >> 24) & 0xFF); 
bytes.push((uint32 >> 16) & 0xFF); 
bytes.push((uint32 >> 8) & 0xFF); 
bytes.push((uint32  ) & 0xFF); 

# String of bytes 
var bytes = ""; 
bytes += String.fromCharCode((uint32 >> 24) & 0xFF); 
bytes += String.fromCharCode((uint32 >> 16) & 0xFF); 
bytes += String.fromCharCode((uint32 >> 8) & 0xFF); 
bytes += String.fromCharCode((uint32  ) & 0xFF); 

my $bytes = pack('H*', $hex_str); 

# Array of bytes 
function hexToBytes(hex) { 
    var bytes = []; 
    for (var c = 0; c < hex.length; c += 2) 
     bytes.push(parseInt(hex.substr(c, 2), 16)); 

    return bytes; 
} 

# String of bytes 
function hexToBytes(hex) { 
    var bytes = ""; 
    for (var c = 0; c < hex.length; c += 2) 
     bytes += String.fromCharCode(parseInt(hex.substr(c, 2), 16)); 

    return bytes; 
} 
+0

爲什麼downvote? – ikegami

+0

不知道現在發生了什麼,但upvoted彌補了這一點。 –

+0

我試着在reference.Thanks給你測試代碼,問題已經解決了。非常感謝你。 「測試網址」:http://plnkr.co/urgQPFBQ76VSJyuqJy5f –