2014-01-24 41 views
0

我很難理解一些數據。這是一個字節數組的樣子嗎?

我有一個Perl腳本,我知道的腳本是它通過網絡發送一些數據包。

當我通過腳本調試發送看起來像下面的數據:「KFD P#」

我很新的Perl和我所知道的是,它應該是一個byte []。如果它是一個字節數組,我應該看不到\ dsdsds \ dssds之類的東西嗎?

這個字符串是否代表我無法理解的任何表達式?

任何想法?

+2

'Byte []'是一個Java變量。數據包中不能存在變量。數據包包含一堆字節(0到255之間的數字)。您似乎只是將這些字節轉儲到終端,終端需要使用某種字符編碼進行編碼的文本,因此它會對待您發送給它的內容。 – ikegami

+0

'\ dsdsds \ dssds'是什麼樣的表示? – ikegami

+0

有什麼方法可以將「」KFD!P#「」聲明或轉換爲字節數組嗎? – TeaLeave

回答

3

要打印正用作緩衝區的perl字符串的內容,需要先將其轉換爲可打印格式。爲此,請使用unpack

例如將其轉換爲十六進制數字的字符串:

print unpack('H*', $buffer),"\n"; 

閱讀perlpacktut瞭解更多信息。

2

運行wireshark以查看它在線路上的位置。

任何字符串都可以被視爲一個字節數組,因此您不需要任何關鍵字,如代碼中的「字節」。

在某處或其某些部分共享代碼將提供更多的上下文來處理和解決您的問題。

相關問題