我想一個2.5程序轉換到3轉換2.5字節比較,以3
有沒有在Python 3的方式來改變一個字節的字符串,如b「\ X01 \ X02」的蟒蛇2.5樣式的字符串,比如'\ x01 \ x02',這樣字符串和逐字節比較的工作方式與2.5相似?我正在從二進制文件中讀取字符串。
我有一個2.5程序從文件中讀取字節,然後比較或處理每個字節或字節組合與指定的常量。要下3運行的程序,我想避開我所有的常量變爲字節,字節字符串(「\ X01」到B「\ X01」),然後處理問題在3,如:
a = b'\x01'
b = b'\x02'
(a+b)[0] != a
即使類似的操作工作在2.5。我必須做(a + b)[0] == ord(a),而a + b == b'\ x01 \ x02'可以正常工作。 (順便說一句,我該怎麼做(a + b)[0]所以它等於?)
解包結構也是一個問題。
我是否缺少一些簡單的東西?
>>因此,當您將序列a與整數(a + b)[0]進行比較時,它們本質上是不同的。>>除了2.5中的類似項目不是這種情況。我意識到爲什麼這在py3k的上下文中有意義,但它使轉換繁瑣 – foosion 2009-09-20 00:32:17
2to3(在py3k下運行)有助於爲打印語句添加parens。它對字節和字符串問題沒有做任何事情,爲此找到一個通用的解決方案是很好的。 – foosion 2009-09-20 00:35:36