- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对此进行了广泛的搜索,但找不到解决此问题的帖子。我有一个简单的字符串,它是从 82001B014042
的调制解调器收到的。我想忽略 82001B01
的前面的 header 并解码十六进制数字 4042
。我的代码如下;
rxHEX = ser.readline()
print rxHEX #82001B014042
rxData = rxHEX[8:] #4042
print rxData
#rxData = "4042"
rxData = rxData.decode("hex")
#rxData = binascii.unhexlify(rxData)
print rxData
无论我使用 .decode("hex")
还是 binascii.unhexlify(rxData)
我都会收到
TypeError: Non-hexadecimal digit found
如果我取消散列 #rxData = "4042"
,它会返回 @S,这正是我所期望的。
为什么它不能根据从调制解调器字符串接收到的内容工作?
如果我有
rxHEX = ser.readline()
print rxHEX
rxData = rxHEX[8:]
print rxData
I recieve
输出是
82001F014042
4042
最佳答案
因为您正在使用 .readline()
,所以您的字符串很可能在末尾包含换行符(或 CRLF 对)。因此,您应该尝试 rxData = rxHEX[8:].strip()
。
关于Python - binascii.unhexlify 和 .decode ("hex") 返回 TypeError : Non-hexadecimal digit found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40393854/
每当程序打开文件时,它都会将该文件视为二进制数据。它将其转换为更高级的解释语言,即八进制、十六进制、ascii 等。在这种情况下,它在左侧 Pane 中显示十六进制,在右侧 Pane 中显示 ansi
是否有类似 Python 的 unhexlify 用于 objc/cocoa 的东西? >>> from binascii import unhexlify>>> help(unhexlify)Hel
所以我使用 this SO answer 中的代码创建2路字母数字加密函数。 基本上,函数如下所示: from Crypto import Random from Crypto.Cipher impo
我正在尝试将 ASCII 字符串来回转换为其二进制表示,如下所示。 s=chr(0)*15 + chr(0x01) bst = bin(int(binascii.hexlify(s), 16)) n
我想将 XY 坐标的 WKB 表示形式转换为 YX 格式。我使用的代码适用于 42 个字符的 WKB 字符串,但是当我在 50 个字符的字符串上使用它时,它会给出一个奇怪的 YX 输出。我正在运行 P
请帮忙...我正在尝试学习 C 类型转换。 此代码仅将一些十六进制字符转换为 1, 2, 3,效果很好。对于其他字符,也更改字符串或减少字符串长度,转换失败... 我将把代码放在下面...任何人都可以
这个问题在这里已经有了答案: 关闭 13 年前。 Possible Duplicate: How to convert hex to a byte array? 我正在 C# 中寻找一个 pytho
我的代码看起来有点像 module Lib where import Data.ByteString (ByteString) import Data.ByteString.Lazy (fromStr
我对Python不熟悉,需要从2.7移植到3.5。在 2.7 中: >>> unhexlify( '2FE2' )[0] '/' 在 3.5 中: >>> unhexlify( '2FE2' )[0]
我对此进行了广泛的搜索,但找不到解决此问题的帖子。我有一个简单的字符串,它是从 82001B014042 的调制解调器收到的。我想忽略 82001B01 的前面的 header 并解码十六进制数字 4
我是一名优秀的程序员,十分优秀!