gpt4 book ai didi

python - 我如何 'declare' 一个空字节变量?

转载 作者:IT老高 更新时间:2023-10-28 20:31:06 25 4
gpt4 key购买 nike

如何在 Python 3 中初始化(“声明”)一个空的 bytes 变量?

我正在尝试接收字节 block ,然后将其更改为utf-8 字符串。但是,我不确定如何初始化初始变量保存整个字节序列。此变量称为 msg。我无法将其初始化为 None,因为您无法添加 bytes无类型。我无法将其初始化为 unicode 字符串,因为那时我将尝试将 bytes 添加到字符串中。此外,随着接收程序的发展,它可能会让我陷入困惑包含仅包含部分字符的一系列字节。我不能没有 msg 初始化,因为那时 msg 将是赋值前引用。以下是有问题的代码

def handleClient(conn, addr):
print('Connection from:', addr)
msg = ?
while 1:
chunk = conn.recv(1024)
if not chunk:
break
msg = msg + chunk
msg = str(msg, 'UTF-8')
conn.close()
print('Received:', unpack(msg))

最佳答案

只需使用一个空字节字符串,b''

但是,重复连接到一个字符串需要多次复制该字符串。一个 bytearray ,它是可变的,可能会更快:

msg = bytearray()  # New empty byte array
# Append data to the array
msg.extend(b"blah")
msg.extend(b"foo")

要将字节数组解码为字符串,请使用 msg.decode(encoding='utf-8')

关于python - 我如何 'declare' 一个空字节变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16678363/

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