字节从 py2 到 py3 的行为变化

2023-12-22

讨论发生后我很好奇这个问题 https://stackoverflow.com/questions/18616657/how-to-encode-integer-in-to-base64-string-in-python-3。看来,的行为bytes()python3 中发生了变化。在py3 的文档 http://docs.python.org/3.1/library/functions.html它现在被列为内置函数,其行为与bytearray()除了结果是不可变的。它没有出现在 py2 文档中的同一位置。

在深入研究文档一段时间后,我确实找不到任何详细说明从 2 到 3 发生了什么变化的内容,但看起来确实有一些变化。有什么区别以及为什么要改变?

从评论中的链接问题中有人评论了 py3

bytes(1) 返回 b'00'

但在2.7.5中

>>> bytes(1)
'1'

蟒蛇3bytes构造函数需要一个可选的int参数指定要输出的字节数。所有字节都初始化为 0 (\x00)与该构造函数,所以bytes(1) == b'\x00'.

蟒蛇2bytes构造函数与str,因此只需将其参数字符串化:

Python 2.7.5 (v2.7.5:ab05e7dd2788, May 13 2013, 13:18:45) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> bytes is str
True
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字节从 py2 到 py3 的行为变化 的相关文章

随机推荐

  • 如何让imagemagick创建小于15k的favicon

    我正在使用 ImageMagick 的convert命令将 3 个不同大小的图标 分别为 16 32 48 像素正方形 组合成一个favicon ico convert version Version ImageMagick 6 8 9 7
  • 键盘和光标显示,但我无法在 UITextFields 和 UITextViews 内输入

    在装有 iOS 6 GM 的 iPad 上 我有 6 个 UITextFields 3 个 UITextViews 和一个触发弹出框 操作表的 UIButton 当我选择 UITextFields 或 UITextViews 之一时 键盘会
  • 禁用电源按钮...或...在 Android 幼儿应用程序中恢复全屏

    我正在为幼儿创建一个 Android 应用程序 因此 我需要锁定尽可能多的按钮 以防止幼儿访问 Android 设备的其他功能 基本上 我希望重现 Toddler Lock 等流行幼儿应用程序中的锁定机制 我的逻辑要求用户顺时针点击屏幕的四
  • 如何将条件“IS NOT NULL”添加到 Thinking Sphinx 搜索中

    我正在使用 Thinking Sphinx 进行全文搜索 如下这个视频 http railscasts com episodes 120 thinking sphinx 我想做以下事情 articles Article search par
  • 我应该签入 VS Code 开发容器文件吗?例如,.devcontainer 文件夹或 .devcontainer.json 文件?

    我创建了一个新的开发容器 https code visualstudio com docs remote containers在 VS Code 中 并添加了 VS Code devcontainer文件夹到我的工作区 我应该将此文件签入
  • 使用 MVVM 进行正确验证

    警告 非常长且详细的帖子 好的 使用 MVVM 时在 WPF 中进行验证 我现在读了很多东西 看了很多SO问题 并尝试过many方法 但在某些时候一切都感觉有点老套 我真的不知道该怎么做正确的方式 理想情况下 我希望使用以下方法在视图模型中
  • 传递给虚拟析构函数的这个额外参数是什么?

    我有这个代码 class Class public virtual Class int main Class object new Class delete object 我用 Visual C 10 进行编译并得到这个反汇编delete
  • 无法获取连接,池错误 在 PutSQL 中等待空闲对象超时?

    我已将 PutSQL 处理器的并发任务增加到 10 此时它显示以下错误 但没有数据丢失 failed to process due to org apache nifi processor exception ProcessExceptio
  • JSF 文件上传目录[重复]

    这个问题在这里已经有答案了 你好 我实现了 BalusC 的文件上传示例 http balusc blogspot com 2008 02 uploading files with jsf html它工作得很好 D 我的问题与文件目录有关
  • Xcode 4:创建 UIView xib,未正确连接

    我正在尝试创建一个笔尖 其中包含将嵌入到 TableViewCell 中的视图 我已经创建了接口和实现文件 ResultCell h and ResultCell m 它们是现货 开箱即用 无需更改代码 然后 我创建一个空的 XIB 文件
  • Symfony 不加载页面

    我刚刚配置了Symfony3 4 15 在我的Ubuntu Server欢迎页面可以工作 但是当我想使用控制器创建一个新页面 例如 home 时 它不起作用 未找到 在此服务器上找不到请求的 URL home Apache 2 4 18 U
  • 将函数应用于 Python 字典的所有键

    我想转换 Python 字典的所有键 例如 如果键是整数 我想将每个键更改为原始值乘以100 实现这一目标的最高效的方法是什么 我现在这样做的方法是将原始密钥存储在set并删除这些键 用新键替换它们 这有一个问题 如果我有一个key 2 a
  • R Plotly - 设置高度时图表顶部和底部有大量未使用空间

    我正在尝试创建一个在 y 轴上包含分类数据的散点图 以便可以通过向下滚动来查看数据 为了实现这一点 我将刻度类型设置为 类别 将其模式设置为 线性 并手动设置高度 以便为绘图提供足够的空间来显示每个标签 然而 这让我在情节的顶部和底部留下了
  • App Engine 默认 Django 版本更改

    自从 App Engine 1 4 2 发布以来 我在生产日志中收到如下警告 您正在使用默认的 Django 版本 0 96 默认的 Django App Engine 中的版本将发生变化 在不久的将来发布 请 显式调用 use libra
  • 从 F# 调用具有多个参数的 C# 函数

    打电话很方便f Func lt T T gt 从 F 为 T gt T通过使用f Invoke 但我该怎么打电话f Func lt T T T gt 从 F 为 T gt T gt T 当我使用f Invoke I get T T gt T
  • 尝试以 pdf 形式查看数据,pdf 为空白

    我试图在下一个选项卡中打开 pdf 文件 它打开但始终为空白 我正在从 springboot 中的文件夹中调用 pdf 文件 数据确实显示在控制台日志中 弹簧代码 RequestMapping value report method Req
  • 如何从源映射中获取原始行号和符号

    我正在记录我网站上的 javascript 错误 但文件已最小化 因此我无法获得有意义的行号 不过 我确实有源地图 是否有服务 脚本 npm 模块或任何可以帮助我将缩小版本中的行号 翻译 为有用的内容的东西 我使用这个 npm 模块找到了答
  • 实体框架和使用 WCF 服务

    我正在获取隐藏在 WCF 服务后面的数据库的数据 在我有来自 Web 服务的自定义对象的场景中是否可以使用实体框架 无法访问外部数据库 当前没有插入 更新 删除逻辑的计划 从空的 EF 模型开始并添加一个实体 我在编译时收到此错误 没有为
  • 如何使用 Spring Security 3.1 更改当前用户的登录名?

    我要求每个用户在保持登录状态时都可以更改自己的用户名 问题是如何更新用户名 Principal 在 Spring Security 的身份验证令牌中 我必须更新它 因为我在某些业务用例中使用身份验证令牌中的主体名称来识别用户 我使用基于表单
  • 字节从 py2 到 py3 的行为变化

    讨论发生后我很好奇这个问题 https stackoverflow com questions 18616657 how to encode integer in to base64 string in python 3 看来 的行为byt