2024-06-28 11:30:01 发布
网友
嗨 我使用twisted库连接到FTP服务器,但文件名编码有问题。 我收到了'Illusion-N\xf3z.txt',所以它不是unicode。是否有任何FTP命令来强制特定的编码? 提前谢谢! MK公司
FTP忽略编码;只要文件名不包含'\0'(空字符)和'/'(斜杠)分隔目录,它就可以接受任何内容。在
'\0'
'/'
对文件名进行自己的解码和编码。您的示例中使用的编码很可能是“cp1252”,即“Windows Western”或类似的代码。在
在您的例子中,当您收到“liusion-N\xf3z.txt”时,请通过'Illusion-N\xf3z.txt'.decode('cp1252')将其转换为Unicode。在
'Illusion-N\xf3z.txt'.decode('cp1252')
有两种可能性:
FEAT
UTF8
Twisted的FTP客户机不会做任何与unicode相关的操作,因为它只是实现了基本的FTP-RFC。在
FTP忽略编码;只要文件名不包含
'\0'
(空字符)和'/'
(斜杠)分隔目录,它就可以接受任何内容。在对文件名进行自己的解码和编码。您的示例中使用的编码很可能是“cp1252”,即“Windows Western”或类似的代码。在
在您的例子中,当您收到“liusion-N\xf3z.txt”时,请通过
'Illusion-N\xf3z.txt'.decode('cp1252')
将其转换为Unicode。在有两种可能性:
FEAT
命令的结果,看看UTF8
是否存在(但可能没有,因为示例字节不是有效的UTF-8)。如果是,则使用UTF-8解码字节。在Twisted的FTP客户机不会做任何与unicode相关的操作,因为它只是实现了基本的FTP-RFC。在
相关问题 更多 >
编程相关推荐