簡體   English   中英

Net-SNMP返回HexString,然后返回String(Eclipse和Pydev)

[英]Net-SNMP returns HexString and then just String (Eclipse and Pydev)

我正在使用Net-SNMP做一個snmpget。 具體來說,我通過os.popen(“ etc”)發送命令。 返回的值是一個用空格分隔的十六進制字符串,例如:“ A0 f0 D0”。 返回的值有時采用以下形式:“十六進制字符串:A0 f0 D0 ..”,但有時采用以下形式:“ String:\\ xA0 \\ xf0 \\ xD0”,如您所見,其中的空格用“ \\ X”。 有誰知道為什么會這樣嗎? 如果返回值是帶空格的HEX-String,而不是\\ x,我希望使用它。

我應該注意,我將Eclipse與Pydev一起使用。 然后,我在pyscripter中運行了相同的代碼,並返回了我的十六進制字符串值。 我再次在Pyscripter中運行它,然后返回了\\ x。 這與未封閉的管道有關嗎?

我還要提到的是,從另一個角度來說,我要獲取的數據是錯誤的。 帶空格的十六進制字符串返回正確的數據值,但是帶\\ xs的字符串返回不正確的值。

我使用了Wireshark,看起來get請求與從MIB發送的請求完全相同。 MIB請求返回正確的數據,而Eclipse請求仍然返回錯誤的數據。

PyDev做了另一件事,那就是設置:sys.setdefaultencoding(encoding)和Java控制台的編碼(這樣,如果您將unicode打印到控制台,它不會失敗,因為unicode不會解碼為ascii)。 要查看這是否是您的問題,可以轉到eclipse \\ plugins \\ org.python.pydev \\ PySrc \\ pydev_sitecustomize \\ sitecustomize.py並注釋以下行:sys.setdefaultencoding(encoding)

暫無
暫無

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

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