【发布时间】:2017-07-29 04:34:18
【问题描述】:
我有一个程序,它通过 Django 中的 webhook(用 Python 编写)接收字节编码的文本。我已经从字节解码 -> utf-8 为普通字母工作,但是当一个撇号( ' )被发送时它会中断。我写这个来解码文本:
encoded = request.body
decoded = parse_qs(encoded)
body = decoded[b'body'][0].decode("utf-8")
这是错误:
UnicodeEncodeError: 'ascii' codec can't encode character '\u2019' in position 5: ordinal not in range(128)
我希望它能够成功解码撇号。我还担心如果发送表情符号可能会中断,因此我希望能够转义表情符号和∫等随机字符,但仍保留消息中的真实单词。
【问题讨论】:
-
“从字节解码 -> utf-8”是什么意思? UTF-8 是一种将 Unicode 文本编码为字节序列的方式,因此您可以将 Unicode 字符串编码为 UTF-8 字节,也可以将 UTF-8 字节解码为 Unicode 字符串。
标签: python django encoding utf-8 decoding