我已经设置了我的两个第一个套接字。在客户端,我想发送unicode字符串。然后,在服务器端,我将生成字符串.upper()并返回它以进行打印。我设法用服务器端的一行代码做到了这一点:
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我对这段代码没有太多的理解,因为我们刚开始在我的uni中使用python,但是我理解了大部分。我已经阅读了bytearray函数等内容。
有没有一种方法可以在最后一段代码中添加.upper()来大写我发送的消息,然后返回它,同时使用unicode?
发布于 2015-02-12 00:51:06
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。我不太明白为什么你需要在两者之间进行解码和编码。在Python2.7中,Unicode字符串的行为与ASCII字符串相同,并且在Python3字节和字节数组序列中仍然有.lower()和.upper()方法。
https://stackoverflow.com/questions/28457535
复制相似问题