python - 在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 不正确的做法?
解决方案
推荐阅读
- asp.net - 这种通过 Set-Cookie 设置 cookie 的尝试被阻止,因为它具有“安全”属性
- python - 旋转 pygame 屏幕
- azure - 更改 microsoft azure 身份颁发者
- function - 关于按月和地区分组的总平均值的问题-谷歌表
- td-engine - 有没有办法删除TDengine数据库中某个vnode下的数据?
- python - 如何在电脑上查看kivy应用程序日志
- python - 发生错误时如何防止python exe关闭
- bitbake - Bitbake 如何处理食谱中的“inc”文件
- typescript - 二维数组 + 解构 = 类型错误
- c++ - 如何删除 std::vector 中选定的随机数据?