簡體   English   中英

將十六進制字符串和整數列表轉換為python中的字符串

[英]converting list with hex string and integers to string in python, scapy

我使用scapy創建DNS響應並將其傳遞給LZW進行壓縮。 壓縮后,我得到以下列表。

['f', '\xa5', '\x84', '\x00', '\x00', '\x01', '\x00', '\x06', '\x00', '\x04', 264, '\x03', 'w', 268, '\x06', 'g', 'o', 'o', 'g', 'l', 'e', '\x03', 'c', 'o', 'm', 259, 261, '\x01', 267, 269]

列表中的值經常超過256。 我如何將其完全轉換為十六進制字符串,或者如何將其轉換為時髦的DNS數據包以便發送。 hexilfy和hex將不起作用,因為列表中有整數,我已經嘗試過這兩個

您可以先將其轉換為unicode,然后再使用utf-8編碼進行編碼,為了逃逸int值,請在列表isinstance中使用isinstance

>>> [unicode(i,'unicode-escape').encode('utf-8') if not isinstance(i,int) else i for i in l]
['f', '\xc2\xa5', '\xc2\x84', '\x00', '\x00', '\x01', '\x00', '\x06', '\x00', '\x04', 264, '\x03', 'w', 268, '\x06', 'g', 'o', 'o', 'g', 'l', 'e', '\x03', 'c', 'o', 'm', 259, 261, '\x01', 267, 269]

暫無
暫無

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

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