簡體   English   中英

如何在python中對轉義序列字符進行按位運算

[英]how to do bitwise operation on escape sequence characters in python

>>>data='\x3a'
>>>st=data.encode.('hex')
>>>st
'3a'
>>>int(st) & 1
Tracback (most recent call last):
     File "(stdin)",line 1 in <module>
ValueError:invalit literal for int() with base 10: '3a'

我想對數據執行一些按位運算(我從我的i2c從設備接收到的數據)

根本不編碼為十六進制; 只需直接使用data並使用ord()函數將字節值轉換為整數即可; 你不想在這里的十六進制表示

ord(data) & 1

如果確實轉換為十六進制,則必須將值解釋為十六進制整數:

int(st, 16) & 1

但是使用十六進制編碼會比需要的工作更多。

演示:

>>> data = '\x3a'
>>> ord(data)
58
>>> ord(data) & 1
0
>>> int(data.encode('hex'), 16)
58
>>> int(data.encode('hex'), 16) & 1
0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM