在開發snmp協議傳輸資料的時候,發現中文會亂碼,網上找的解決方案基本都是說,因為原始碼的問題,要改動原始碼,但是感覺改動原始碼太難了,很多內部呼叫並不是所有人都能搞得定的。
以下是亂碼的源頭,因為預設超過128的位數的位元組,都按16進製制處理
public
class
octetstring
extends
abstractvariable
implements
assignablefrombytearray, assignablefromstring
//沒通過isprintable(),如ascii控制字元,漢字等,都以16進製制顯示
return tohexstring();
}public
boolean
isprintable()
}return
true;
}
將傳過來的16進製制,轉換為中文,無須改動原始碼,實現**如下:
vectorrecvbs =
(vector) pdu.getvariablebindings();
for (int i = 0; i < recvbs.size(); i++)
trycatch (unsupportedencodingexception e)
}setsnmpdata(recvb.getoid()+"----",os);
}
SNMP學習筆記 SNMP基礎
定義 簡單網路管理協議 snmp 由一組網路管理的標準組成,包含乙個 應用層資料庫模型 database schema 和一組資源物件。該協議能夠支援 網路管理系統 用以監測連線到網路上的裝置是否有任何引起管理上關注的情況。原理 在典型的snmp用法中,有許多系統被管理,而且是有一或多個系統在管理它...
亂碼問題 Qt中文亂碼問題
接觸了qt,由於習慣中vs,如果使用vs寫qt 剛接觸很快就發現有中文亂碼問題,我的解決方法如下 新建乙個標頭檔案,比如qtchcharset.h,標頭檔案中內容如下 pragma once ifdef q os win q os win 新增後支援gb2312,utf 8 bom,unicode ...
中午亂碼 html亂碼問題
亂碼問題的原因 計算機只識別0,1,在計算機中的任何內容最終都會轉化為0,1這種二進位制編碼來儲存。如果一旦在編碼或者解碼的過程 現問題均會造成亂碼問題。產生亂碼的根本原因 編碼和解碼所採用的字符集不同。首先了解一下基本知識 常用的字符集 ascii,ioso 8859 1,gbk,gb2312,u...