簡體   English   中英

python中二進制數據的長度

[英]Length of binary data in python

我正在使用Python。 我試圖確定二進制數據集中的正確字節長度。

如果我為變量分配二進制數據......

x = "aabb".decode("hex")

是這樣的

x = b'aabb'

如果是這樣,你怎么得到多少字節? (它應該是2個字節)

當我嘗試:

len(x)

我得到4而不是2 ...

我擔心x會變成字符串或其他我不理解的東西,因為數據類型在Python中是如此流暢......

二進制數據的長度只是len ,類型是Python-2.x中的str (或Python-3.x中的bytes )。 但是,您的對象'aabb'不包含兩個字節0xaa和0xbb,而是包含與ASCII'a'和'b'字符對應的4個字節:

>>> bytearray([0x61, 0x61, 0x62, 0x62])
bytearray(b'aabb')
>>> bytearray([0x61, 0x61, 0x62, 0x62]) == 'aabb'
True

這可能是您實際需要的等價物:

>>> 'aabb'.decode('hex') == b'\xaa\xbb' 
True

以下各項均相等(且長度為2 ):

>>> s1 = 'aabb'.decode('hex')
>>> s2 = b'\xaa\xbb'
>>> s3 = bytearray([0xaa, 0xbb])
>>> s4 = bytearray([170, 187])
>>> s1 == s2 == s3 == s4
True

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM