Python字节数组在套接字之间发送unicode



我已经设置了我的两个第一个套接字。在客户端,我想发送unicode字符串。然后在服务器端,我将生成字符串.opper()并返回它以进行打印。我在服务器端用一行代码做到了这一点:

modifiedMessage = message.decode('utf8').upper().encode('utf8') 

现在我想通过使用以下功能来做到这一点:

def unicodeBin(message):
utf8_byte_array = bytearray(format(message))
uba = []
for n in range (len(format(message))):
    uba.append("{0:08b}".format(utf8_byte_array[n]))
    modifiedMessage = ' '.join(uba)
return modifiedMessage

我对这段代码不太了解,因为我们刚刚在大学里开始使用python,但我已经掌握了大部分。我已经阅读了字节数组函数等。

有没有一种方法可以在最后一段代码中添加.opper(),将我发送的消息大写,然后返回,同时使用unicode?

In [1]: "a string".encode("utf-8")
Out[1]: 'a string'
In [2]: "a string".upper().encode("utf-8")
Out[2]: 'A STRING'
In [3]: "a string".encode("utf-8").upper()
Out[3]: 'A STRING'
In [4]: u"a string".upper()
Out[4]: u'A STRING'
In [5]: "a string".decode("utf-8").upper()
Out[5]: u'A STRING'
In [6]: u"a string".encode("utf-8").upper()
Out[6]: 'A STRING'
In [7]: u"a string".encode("utf-8").upper().decode("utf-8")
Out[7]: u'A STRING'

顺便说一下,这是Python 2.7。我不太明白为什么你需要在两者之间进行所有的解码和编码。Unicode字符串的行为方式与Python 2.7中的ASCII字符串相同,并且在Python中,3字节和字节数组序列仍然具有.lower()和.opper()方法。

最新更新