2016-05-31 410 views
-2

我遇到以下輸出,我無法真正理解它。 你能告訴我它到底是什麼嗎?如何解開它?如何解壓和解碼'@ x01 x01 x00'?

'@\x01\x01\x00' 

它看起來不是純粹的二進制或十六進制。 我希望看到它的ASCII表示。

+4

你有一串字節,它是從哪裏來的? –

回答

1

這似乎是四個字節的順序與值64,1,1,0

要解釋它,你需要知道它是如何編碼或什麼是應該來表示。

一般情況下,你可以在Python與unpack功能struct模塊在解壓的二進制數據:

import struct 

intval = struct.unpack('i', '@\x01\x01\x00') 
shortvals = struct.unpack('hh', '@\x01\x01\x00') 

第一unpack行會給你你的字符串解釋爲一個4字節的整數,它的值是數字65856.第二個將字符串解釋爲兩個2字節整數(320和1)。

+0

謝謝! @fmarc能否請你告訴我們如何「\ 300 \ 010 \ 034 \ 032j \ 000 \ 001 \ 032j \ 000 \\\ 032j6〜\ 032 \ 256Bh \ 032 \ 256D \ 005 \ 032 \ 256Y \ 331 \ 032 \ 256 \ 202 \ 026「可以解壓縮嗎? – iamsterdam

+0

@NikosSkalis:爲此,您需要有關數據如何存儲的信息。只有你知道這一點,或者誰寫了這些數據。 – fmarc

1

你有個字節的字符串,如果你打印你所看到的ASCII碼輸出:

In [5]: s = '@\x01\x01\x00' 


In [8]: print(list(bytearray(s))) 
[64, 1, 1, 0] 

如果你在每一個整數的叫chr你會看到完全一樣的輸出,64 ASCII是@,1SOH0NUL,沒有更多的信息,像它來自哪裏沒有其他可以建議的其他信息。

+0

謝謝!但SOH是什麼? – iamsterdam

+0

@NikosSkalis,*標題開頭* http://ascii.cl/control-characters.htm –

相關問題