[英]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.