1. 程式人生 > >tftp下載檔案為中文名【原創】

tftp下載檔案為中文名【原創】

author :張繼飛

在專案中通過tftp下載檔案時會有中文名稱的問題,上位機發送下來IP地址與檔名,本地程式將檔名以字串的形式拼起來,結果呼叫tftp 時,去server下載提示檔案不存在,後來經過仔細驗證,發現上位機發下來的是utf8編碼的檔名,但通過手動tftp 去下載檔案,抓包發現一個漢字是兩位元組,將編碼去Unicode碼錶裡去找,沒有匹配到漢字,所以排除Unicode。

為了找出tftp使用的編碼,將檔名儲存到文字,修改文字儲存的編碼方式,然後通過tftp下載檢視資料內容,最後發現與ANSI匹配上,於是上位機軟體去掉UTF8格式轉換,直接用預設方式。然後下發到本地程式上後,本地程式將接收到的16進位制以char的型別進行儲存,呼叫tftp,成功下載檔案。

 

結果就是tftp用ANSI編碼就好,不用進行轉換。