【发布时间】:2011-02-11 08:12:39
【问题描述】:
嗨 我使用扭曲库连接到 FTP 服务器,但文件名编码有问题。 我收到 'Illusion-N\xf3z.txt' 所以它不是 unicode。是否有任何 FTP 命令强制执行特定编码? 提前致谢! MK
【问题讨论】:
标签: python encoding ftp twisted
嗨 我使用扭曲库连接到 FTP 服务器,但文件名编码有问题。 我收到 'Illusion-N\xf3z.txt' 所以它不是 unicode。是否有任何 FTP 命令强制执行特定编码? 提前致谢! MK
【问题讨论】:
标签: python encoding ftp twisted
有两种可能:
FEAT 命令的结果以查看UTF8 是否存在(但可能不存在,因为示例字节不是有效的UTF-8)。如果是,请使用 UTF-8 解码字节。Twisted 的 FTP 客户端不会为它做任何与 unicode 相关的事情,因为它只是实现了基本的 FTP RFC。
【讨论】:
FTP 忽略编码;只要文件名不包含'\0'(空字符)和'/'(斜线)分隔目录,它就很乐意接受任何内容。
对文件名进行自己的解码和编码。您的示例中使用的编码很可能是“cp1252”,即“Windows Western”或类似的编码。
在您的情况下,当您收到“Illusion-N\xf3z.txt”时,请通过 'Illusion-N\xf3z.txt'.decode('cp1252') 将其转换为 Unicode。
【讨论】: