gpt4 book ai didi

Python3 字符串转换问题

转载 作者:太空宇宙 更新时间:2023-11-04 08:44:00 25 4
gpt4 key购买 nike

我有一个函数:

def push(push):
ser.write(push + '\r')
pull = ser.read(11)
return pull

我这样调用它:

out = push("ka " + dp_id + " ff")

事实证明它与 python2 一起工作得很好但是当我使用 python 3 时我得到错误:

unicode strings are not supported, please encode to bytes: 'ka 01 ff\r'

现在如果我这样做:

out = push(b"ka " + display_id + " ff")

我得到错误:

can't concat bytes to str

我很困惑。有什么帮助?

最佳答案

问题与push本身无关。你写:

b"ka " + display_id + " ff"
# ^bytes ^string ^string

(b 前缀表示您实际上写了一个字节序列)。

这样就不行了。您可以使用 .encode() 将字符串编码 为字节数组,并在最后一个字符串上使用 b 前缀。所以:

b"ka " + display_id<b>.encode()</b> + <b>b</b>" ff"
# ^bytes <b>^bytes</b> <b>^bytes</b>

关于Python3 字符串转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42385780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com