django 如何在python 3中解码utf-8编码的字符串?

lokaqttq  于 2023-05-01  发布在  Go
关注(0)|答案(2)|浏览(151)

我有以下情况:

encoded_string = str('дис'.encode('utf-8'))

我需要将其转换为字符串,因为django的set_cookie()需要一个字符串,我似乎无法编写函数decode_string

decode_string(encoded_string) == 'дис'

如果我不转换这个字符串,那么django返回内部服务器错误。你能帮帮忙吗
更新:
我希望我能避免str()步骤,但这不是我能决定的。Django的set_cookie将字节串转换为str。

nbewdwxp

nbewdwxp1#

不要使用str(),使用decode

>>> 'дис' == 'дис'.encode('utf-8').decode('utf-8')
True
agxfikkp

agxfikkp2#

如果我使用'дис'.encode('unicode-escape')

def decode_string(encoded_string: str) -> str:
    return bytes(encoded_string.replace('\\\\','\\')[2:-1], 'utf-8').decode('unicode-escape')

是一个解决方案,但在我看来很混乱

相关问题