在python中打开文件时,可以指定十六进制作为编码类型吗?

时间:2019-06-21 16:55:32

标签: python file encoding hex

在程序中打开文件时,我总是遇到错误。原始代码是打开f = open(file_name, 'w')with open(file_name) as f:的简单调用。两者都引发了类似的错误UnicodeEncodeError: 'charmap' codec can't encode characters: character maps to <undefined>

类似问题的答案是在open函数中指定encoding='utf-8',我尝试过,但仍然导致错误。回答同一问题的另一个答案是设置encoding='Latin1',但建议不要这样做,因为-从我的理解来看-Latin1将适用于任何文件类型,无论它实际上是否正确对其进行编码。如果这是错误信息,请让我知道,因为无论如何我都使用Latin1尝试了它,并且运行无误。

我什至试图下载一个编辑器,该编辑器告诉您所使用文件的首选编码方法。我给了它一个我要在程序中打开的.h5文件,它说我应该使用十六进制,使用编码器功能时,我只能通过编解码器模块找到对它的支持。 via Sublime Text

上面让我认为使用Latin1可能是不正确的做法。因此,我的问题是:

是否可以通过某种方式将十六进制指定为python的open函数的编码参数?如果是这样,那该怎么办? (我应该注意,我已经尝试了明显的解决方案encoding='hex'encoding='hexadecimal',并且都无法识别)和/或对我要打开的.h5文件使用了Latin1错误的做法?

0 个答案:

没有答案