繁体   English   中英

Windows中的文件路径编码

[英]File path encoding in Windows

我正在写一个小的应用程序,该文件将文件路径保存到数据库(使用django)。 我假设文件路径是utf-8编码的,但是我遇到了以下文件名: C:\\FXG™.nfo ,该文件名显然不是utf-8编码的。

当我执行filepath.decode('utf-8') ,出现以下错误:

UnicodeDecodeError: 'utf8'编解码器无法解码位置30的字节0x99 :无效的起始字节

(我修剪了文件名,因此此处位置错误)。

我怎么知道文件路径的编码方式对每个文件名都适用?

使用sys.getfilesystemencoding()

那应该允许您转换所有看起来正常的路径。

但是,总会有非法编码的文件或文件夹,您必须考虑如何处理应用程序框架中的文件或文件夹。

一些应用程序可能会忽略此类文件,而其他应用程序会将名称保留为二进制Blob。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM