Python 3 默认编码 cp1252 [重复]

2024-03-20

我最近在索尼 vaio windows 10 系统上使用 anaconda 4.1.1 python 3.5.2 安装从 Biopython 模块解码句柄(错误映射 0x81、0x8D)时遇到了一些问题

经过一番研究,问题似乎可能是默认解码编解码器是 cp1252。我运行下面的代码,发现默认编解码器确实设置为 cp1252。

然而,一些帖子表明 python 3 应该将默认编解码器设置为 utf8。那是对的吗?如果是这样,为什么我的是 cp1252,我该如何解决这个问题? import locale os_encoding = locale.getpreferredencoding()


根据Python 3.0 的新增功能 https://docs.python.org/3/whatsnew/3.0.html,

有一个依赖于平台的默认编码 […] 在许多情况下,但不是全部,系统默认是 UTF-8;你永远不应该指望这个默认值。

and

PEP 3120:默认源编码现在为 UTF-8。

换句话说,Python 默认以 UTF-8 格式打开源文件,但与文件系统的任何交互都将取决于环境。强烈推荐使用open(filename, encoding='utf-8')读取文件。

另一个变化是b'bytes'.decode() and 'str'.encode()不带参数使用 utf-8 而不是 ascii。

Python 3.6 的变化 https://docs.python.org/3/whatsnew/3.6.html更多默认值:

PEP 529:将 Windows 文件系统编码更改为 UTF-8

PEP 528:将 Windows 控制台编码更改为 UTF-8

但默认编码为open()仍然是 Python 设法从环境中推断出的任何内容。

看来 3.7 将添加一个(选择加入!)模式,其中环境区域设置编码被忽略,并且所有内容始终都是 UTF-8(我想 Windows 使用 UTF-16 的特定情况除外)。看PEP 0540 https://www.python.org/dev/peps/pep-0540/以及相应的问题 29240 https://bugs.python.org/issue29240.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 3 默认编码 cp1252 [重复] 的相关文章

随机推荐

  • librosa.effect.Split的返回值很奇怪

    正如标题所示 这个函数的结果不符合逻辑 我不明白这个函数在做什么 例如 这里是一些可重现的代码 load sample audio filename librosa util example audio file audio sr libr
  • 推送到远程分支(无法更新引用)

    我有一个带有功能 初始更改分支的远程存储库 现在我想将一些文件从本地功能 初始更改分支推送到此远程分支 我浏览了一些关于推送到远程分支的帖子并尝试了一些方法 但我仍然遇到相同的错误 添加并提交后 我得到以下 git 状态 Sakibs Ma
  • Azure WebJobs SDK 服务总线死信队列

    使用 WebJobs SDK 时 将 BrokeredMessage 移动到死信队列的正确方法是什么 通常我只会调用 msg DeadLetter 但是 SDK 负责管理代理消息的生命周期 如果方法返回成功 它将调用 msg Complet
  • 如何在按下按钮后以动画方式显示 UIPickerView?

    我想在按下按钮后为 UIPickerView 制作动画 我已经将 UIPickerView 编码为隐藏在 viewDidLoad 上 并且在按下按钮后不会隐藏 但它的动画效果不像 ModalViewController 默认情况下的动画效果
  • 包更新到 Angular 5 最新版本,但 npm 未使用 Angular 模板在 Visual Studio 2017 中更新

    我已将 Visual Studio 2017 模板中的 Angular 4 更新为 Angular 5 我按照链接中的说明进行操作http www talkingdotnet com upgrade Angular 4 app Angula
  • 如何计算滚动 idxmax

    考虑pd Series s import pandas as pd import numpy as np np random seed 3 1415 s pd Series np random randint 0 10 10 list ab
  • 函数对象的好处?

    我知道STL中使用的函数对象只是简单的对象 我们可以像函数一样操作它 我可以说函数和函数对象的工作原理是相同的 如果这是真的 那么为什么我们应该使用函数对象而不是函数呢 主要好处是对函数对象 函子 的调用通常是可内联的 而对函数指针的调用通
  • AngularStrap 选项卡加载 html 片段

    我目前正在使用 Twitter Bootstrap 开发 AngularJS 项目 并尝试将我的 Bootstrap 指令转换为 Angular 我决定使用 AngularStrap 因为它提供了对 Bootstrap Select 的支持
  • 如果 c =a,b,c 的值是多少;

    int a 0 int b 1 int c a b int d a b 在初始化之外 逗号 ina b is the 逗号运算符 并评估为b 涉及行中的括号d造成这样的情况 所以该行实际上相当于 int d b 然而 在涉及c 这不是逗号运
  • 如何解决 Java Swing 登录窗口中的这些可视化问题?

    我是 Java Swing 的新手 但我遇到了一个问题 我必须创建一个登录窗口 灵感来自这样的图像 像这样 scilicet 窗口必须显示 2 个文本字段 用户在其中插入用户名和密码以及一个按钮来执行登录操作 好的 我认为这非常简单 我已经
  • bind_param 中的参数数量未知[重复]

    这个问题在这里已经有答案了 当您不知道要接收的参数数量时 你们会怎么做 例如 if a 1 filter AND u name if b 1 filter AND u address if c 1 filter AND u age if d
  • 将布尔值序列化为“1”和“0”而不是“true”和“false”

    我在上面找不到任何方法Boolean类将布尔值序列化为 1 和 0 而不是 true 和 false 有没有本地函数可以做到这一点 如果不是 最好的方法 最优化的方法 是什么 更新 我确实想制作一个String出于一个Boolean If你
  • 将上下文变量与 IBM Watson Conversation 中的实体进行比较

    在 Watson 对话对话框中 我创建了一个条件 就像是 if stored state states Florida AND preferred joint joint KFC then some response where store
  • 安卓。如何沿对象面向的方向移动对象(使用 Vector3 和四元数)

    我正在使用 libGDX 事实上对它来说相当新 和 Android 我想沿 3d 对象所面向的方向移动 使用一定的速度 我认为这是一个基本问题 但找不到直接答案 我有一个代表对象旋转 方向 的四元数 有一个代表对象位置的 Vector3 问
  • FreeTDS - tsql 连接,isql 失败

    我正在尝试连接到我的主机 Windows XP SQL Server 05 上的数据库 我的客户机器是 Ubuntu 10 04 我可以使用 tsql 连接并执行命令 但 isql 失败 以下是我的配置文件和错误消息 freetds con
  • UITableView 部分未按预期排序

    我正在使用带有自定义部分标题的 tableView 核心数据对象根据称为 sectionIdentifier 的瞬态属性的值显示在精确的部分上 一切都按预期工作 但各部分的顺序没有按我的预期响应 这应该是部分顺序 1 OVERDUE sec
  • 匿名函数和内存消耗

    就内存消耗而言 这些是否等效 或者我们是否为后者中的每个对象获得一个新的函数实例 var f function alert this animal var items for var i 0 i lt 10 i var item anima
  • 如何重置 Apache Archiva 密码

    我正在使用 apache archiva 2 2 0 版本 我丢失了管理员密码 因此我想重置管理员用户的密码 我尝试通过删除下面提到的文件来重置密码 apache archiva 2 2 0 data databases users dbe
  • 检测 pandas.DataFrame 中的列是否是分类的好的启发式是什么?

    我一直在开发一个工具 可以自动预处理 pandas DataFrame 格式的数据 在此预处理步骤中 我想以不同的方式处理连续数据和分类数据 特别是 我希望能够应用 OneHotEncoder 等only分类数据 现在 假设我们提供了一个
  • Python 3 默认编码 cp1252 [重复]

    这个问题在这里已经有答案了 我最近在索尼 vaio windows 10 系统上使用 anaconda 4 1 1 python 3 5 2 安装从 Biopython 模块解码句柄 错误映射 0x81 0x8D 时遇到了一些问题 经过一番