Python 字节字符串在字典中打印不正确

2023-12-03

考虑一个列表包含字节数据(即 ['\x03', '\x00', '\x32', ... ])

temp = b''

for c in field_data:
   temp += c
   print "%x" % ord(c)

上面的代码正确地将所有字节连接到 temp (字节字符串文字)中。但是当我将其添加到字典元素中时,在某些情况下输出不正确。

testdic = {'dd':temp}
print testdic

例如,0x0 0x0 0x0 0x0 0x0 0x0 0x33 0x32 在列表中,第一个代码显示所有字节都已正确连接。但是当我立即执行第二个代码时,输​​出如下:

{'dd': '\x00\x00\x00\x00\x00\x0032'}

我不完全确定为什么会发生这种情况。


当您打印一个dict,它打印大括号{ and }连同一个表示的内容。

>>> b = b'\x00\x0f\xff'
>>> print b
�
>>> print repr(b)
'\x00\x0f\xff'
>>> print {'test':b}
{'test': '\x00\x0f\xff'}

EDIT

数字 0x33 和 0x32 是字符“3”和“2”的 ASCII 值。repr将直接显示可打印的ascii字符,同时使用\x00不可打印字符的表示法。

>>> b = b'\x33\x32'
>>> print b
32
>>> print repr(b)
'32'
>>> hex(ord('3'))
'0x33'

这是我用来打印字符串的十六进制表示形式的函数

>>> def hexstr(s):
...     return '-'.join('%02x' % ord(c) for c in s)
...
>>> hexstr(b'\x00\xff\x33\x32')
'00-ff-33-32'

你也许可以子类化dict并覆盖__str__如果您希望这自动发生,请表示。

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

Python 字节字符串在字典中打印不正确 的相关文章

随机推荐

  • 将列表传递给 subprocess.run

    我有一个脚本 其中包含一个列表 该列表只是我想传递给的一些参数subprocess run像这样 commands bash command 1 bash command 2 这是我的代码 commands bash command 1 b
  • Pandas read_csv 更改以 0 开头的列

    我有一个脚本 可以从 csv 文件中读取一些邮政编码 邮政编码的格式如下 zipcode 75180 90672 01037 20253 09117 31029 07745 90453 12105 18140 36108 10403 764
  • Bitbucket 管道:gcloud 崩溃 (UnicodeDecodeError)

    编辑 我想指出 如果我在计算机上使用云 sdk 手动部署 则不会发生此问题 仅限管道 再次编辑 我在 gcloud 应用程序部署中添加了 verbosity debug 这是生成的内容 Do you want to continue Y n
  • Jersey REST 服务上的用户身份验证

    我正在开发一个 REST 应用程序 它使用 Jersey 框架 我想知道如何控制用户身份验证 我查了很多地方 找到最接近的文章是这样的 http weblogs java net blog 2008 03 07 authentication
  • 当 RecyclerView 正在计算布局或尝试从 recyclerview 中删除项目时滚动时,无法调用此方法

    我正在尝试从 recyclerview 中删除我的项目 但我总是收到错误 java lang IllegalStateException 无法调用此方法 RecyclerView 正在计算布局或滚动 我正在使用notify datasetc
  • DataTable Wrapper 或如何将 UI 与业务逻辑解耦

    我正在使用 Web 表单 C Asp net 众所周知 在这个模型中 UI和业务逻辑经常是混合在一起的 如何有效地将它们分开呢 我想使用的例子是 我有一个 GridView 和一个 DataTable GridView 绑定到 DataTa
  • 引用类型作为参数

    所以我深入阅读 Jon Skeet 的 C 并遇到了一些误解 比如引用类型总是通过 ref 传递 所以我决定自己做一个小实验 正如您在下面的代码中看到的 我有一个简单的 Car 类 其中一个属性在调用构造函数时初始化为 500 我还有 Nu
  • 在多个图中添加单独的箭头

    我想在用 ggplot 和 faceting 生成的 2 个图中添加箭头 问题 如何避免两个图中的箭头重复 我想为每个图添加单独的箭头 这是一个例子 library ggplot2 data frame with fake data xdf
  • Ruby 三元运算符结构

    puts bool true false 是正确的 但是 bool puts true puts false 不是 有人可以向我解释这是为什么吗 边注 bool puts true puts false 效果也很好 当您不在方法调用上添加括
  • Rails:如何将 i18n 与 Rails 4 枚举一起使用

    Rails 4 活动记录枚举很棒 但是使用 i18n 进行翻译的正确模式是什么 从Rails 5开始 所有模型都将继承自ApplicationRecord class User lt ApplicationRecord enum statu
  • SVG 未在 Windows Phone 8 Phonegap 应用程序中显示

    似乎无法找到任何答案 使用 Phonegap 并使用 SVG 图像开发 HTML5 应用程序 从 Adob e Illustrator 的 另存为 中保存它们 然后像 HTML 中的普通图像一样使用它们 img src img the im
  • 组合框中的热跟踪列表项选择

    我有一个组合框 当用户仅通过鼠标悬停来更改选择时 我需要拦截选择的更改without点击 这是为了显示有关用户将鼠标悬停在其上的项目的补充信息 CBN SELCHANGE不会完成这项工作 因为只有当用户有actually通过单击组合框项目之
  • git stash pop 和 git stash apply 之间的区别

    我一直在使用git stash pop很长一段时间 我最近了解到git stash apply命令 当我尝试它时 它的工作原理似乎与git stash pop 有什么区别git stash pop and git stash apply g
  • 快速识别用户在编辑 NSTextField 时是否按下了箭头键

    我有很多 NSTextField 我想知道用户在编辑其中之一时是否按下了方向键之一 功能 override func keyDown theEvent NSEvent switch theEvent character case NSRig
  • 如何使用 AndEngine 通过滑动来投掷/投掷球?

    我在屏幕上有一个球精灵 当我触摸并滑动该精灵时 它必须沿特定的滑动方向移动 我给那个球添加了物理原理 我想做类似的事情扔纸 谁能帮我吗 提前致谢 您需要重写 Sprite 的 onAreaTouched 方法 如下所示 您可以从 pScen
  • 条件面板上的动画

    我想在我的条件面板上添加一些动画 我找到了这里提供的解决方案 闪亮条件面板的动画 过渡 我真的很喜欢这个解决方案 但我有一个问题 检查以下示例 library shiny library shinyjs library shinydashb
  • 如何获取当前日期或/和时间(以秒为单位)

    如何使用 Javascript 获取当前日期或 和时间 以秒为单位 var seconds new Date getTime 1000 将为您提供自 1970 年 1 月 1 日午夜以来的秒数 参考
  • Apache2、PHP:创建自动ntlm登录页面

    我有 Apache2 和 PyAuthenNTLM2 模块 请参阅https github com Legrandin PyAuthenNTLM2 该 Apache 模块将 Windows 用户名放入 SERVER REMOTE USER
  • Outlook.com HTML 电子邮件中条件注释的可靠解决方案

    我在这里和其他地方看到了设置条件评论以与 Outlook com 一起使用的推荐方法 但由于下面详细介绍的另一个已知问题 我收到了空白电子邮件 参考下面的两个代码示例 我想看看是否有人有解决此问题的可靠方法 第一个例子 上面的代码会导致 O
  • Python 字节字符串在字典中打印不正确

    考虑一个列表包含字节数据 即 x03 x00 x32 temp b for c in field data temp c print x ord c 上面的代码正确地将所有字节连接到 temp 字节字符串文字 中 但是当我将其添加到字典元素