tftp下载文件为中文名【原创】

author :张继飞

在项目中通过tftp下载文件时会有中文名称的问题,上位机发送下来IP地址与文件名,本地程序将文件名以字符串的形式拼起来,结果调用tftp 时,去server下载提示文件不存在,后来经过仔细验证,发现上位机发下来的是utf8编码的文件名,但通过手动tftp 去下载文件,抓包发现一个汉字是两字节,将编码去Unicode码表里去找,没有匹配到汉字,所以排除Unicode。

为了找出tftp使用的编码,将文件名保存到文本,修改文本保存的编码方式,然后通过tftp下载查看数据内容,最后发现与ANSI匹配上,于是上位机软件去掉UTF8格式转换,直接用默认方式。然后下发到本地程序上后,本地程序将接收到的16进制以char的类型进行保存,调用tftp,成功下载文件。

结果就是tftp用ANSI编码就好,不用进行转换。

猜你喜欢

转载自blog.csdn.net/zjf30366/article/details/84438992