簡體   English   中英

如何將字符串2字節長轉換為python中的整數

[英]How do I convert a string 2 bytes long to an integer in python

我有一個我繼承的python程序,我正在嘗試擴展。

我已經將一個兩字節長的字符串提取到一個名為pS的字符串中。

pS第一個字節是0x01,第二個是0x20,十進制值== 288

我一直試圖將其值作為整數,我使用了表格的行

x = int(pS[0:2], 16)  # this was fat fingered a while back and read [0:3]

並得到消息

ValueError: invalid literal for int() with base 16: '\x01 '

另一個C程序員和我一直在谷歌搜索並試圖讓這一整天工作。

請給我一些建議。

查看struct模塊。

struct.unpack( "h", pS[0:2] )

對於帶符號的2字節值。 使用“H”表示未簽名。

您可以使用ord將字符轉換為其字符代碼,然后以適當的方式將它們一起添加:

x = 256*ord(pS[0]) + ord(pS[1])

暫無
暫無

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

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