【问题标题】:Python join 2 char into the same short [closed]Python将2个字符加入同一个短[关闭]
【发布时间】:2013-05-20 20:09:30
【问题描述】:

我想把 2 个字符写成一个短片。

我想这样做(c 语法):

short var = (msg[4:5]<<8) | (msg[5:6])

算法:

ord(msg[4:5) = 105 -> 0b1101001

ord(msg[5:6) = 135 -> 0b10000111

var =  0b1101001 <<8        eq 0b1101001 00000000      eq 0x6900

var |= 0b10000111           eq 0b1101001 10000111      eq 0x6987

var = 27015

所以我想要一个数值 如果您有任何解决方案... 谢谢

【问题讨论】:

  • 究竟是什么问题?这在 Python 中不起作用吗?你看到了什么错误?
  • 您已经找到了所需的语法元素:ord()|=。你还需要什么?
  • 请注意,Python 中没有 short 之类的东西
  • 试试结构模块:num=struct.unpack('&gt;h',str)
  • @thg435 好主意,但这对我来说像是功课

标签: python casting char short


【解决方案1】:
(ord(msg[4])<<8) + ord(msg[5])

【讨论】:

  • 心理调试 FTW。您也可以使用| 代替+
  • 实际上,在字符串上使用msg[4]msg[4:5] 都无关紧要,因此任何一种方式都可以。 OP 也没有真正提出问题。
猜你喜欢
  • 2013-10-18
  • 1970-01-01
  • 2019-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多