首页 > 解决方案 > 在python中打开文件时可以指定十六进制作为编码类型吗?

问题描述

在我的程序中打开文件时,我一直遇到错误。原始代码是对 openf = open(file_name, 'w')with open(file_name) as f:. 这两个都抛出了类似的错误UnicodeEncodeError: 'charmap' codec can't encode characters: character maps to <undefined>

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

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

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

有没有办法为python的open函数的编码参数指定十六进制?如果是这样,那将如何进行?(我应该注意到我已经尝试了明显的解决方案encoding='hex'encoding='hexadecimal'但两者都无法识别)和/或对我试图打开的 .h5 文件使用了 Latin1 不正确的做法?

标签: pythonfileencodinghex

解决方案


推荐阅读