簡體   English   中英

Python:防止在打印時解碼字節數組

[英]Python: Prevent decoding of bytearray while printing

以下代碼顯示打印字節數組使其盡可能解碼 ASCII 字符。

>>> a = bytearray([0x0D, 0x48, 0x69])
>>> print(a)
bytearray(b'\rHi')

有沒有一種簡單的方法可以防止字節解碼,而是產生這樣的結果?

bytearray(b'\x0d\x48\x69')

這是一個解決方案(但必須有一種更有機的方式來做到這一點)!

a = bytearray([0x0D, 0x48, 0x69])

打印(地圖(十六進制,一))

恐怕您必須手動構建它:

def dump(x):
    return ''.join([type(x).__name__, "('",
                    *['\\x'+'{:02x}'.format(i) for i in x], "')"])

然后你可以這樣做:

>>> a = bytearray('\rHi', 'ascii')
>>> print(dump(a))
bytearray('\x0d\x48\x69')

暫無
暫無

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

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