在python中如何将2字节长的字符串转换为整数

在python中如何将2字节长的字符串转换为整数,python,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 ' 另一

我继承了一个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程序员和我整天都在谷歌上搜索,试图让它正常工作

请提供建议。

查看模块


对于有符号的2字节值。使用“H”表示无符号。

您可以使用
ord
将字符转换为其字符代码,然后以适当的方式将它们添加到一起:

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

请出示“打印pS”的输出?我不清楚为什么int(pS[0:3],16)不起作用。您没有“0x”前缀吗?
x = 256*ord(pS[0]) + ord(pS[1])