您好 我使用扭曲的库连接到FTP服务器,但我有文件名编码的问题。 我收到'Illusion-N \ xf3z.txt'所以它不是unicode。是否有强制特定编码的FTP命令? 提前致谢! MK
答案 0 :(得分:4)
有两种可能性:
FEAT
命令的结果以查看UTF8
是否存在(但可能不是,因为示例字节无效UTF-8)。如果是,则使用UTF-8解码字节。Twisted的FTP客户端不会为它做任何与unicode相关的事情,因为它只是实现了基本的FTP RFC。
答案 1 :(得分:2)
FTP忽略编码;只要文件名不包含'\0'
(空字符)并且'/'
(斜杠)分隔目录,它就会愉快地接受任何内容。
自己解码和编码文件名。您的示例中使用的编码很可能是“cp1252”,即“Windows Western”或类似的东西。
在您的情况下,当您收到'Illusion-N \ xf3z.txt'时,请按'Illusion-N\xf3z.txt'.decode('cp1252')
将其转换为Unicode。