首页 > python3 字符串编码的问题

python3 字符串编码的问题

python3 中遇到了一个编码问题,就是字符串中含有 unicode 编码,如下

s = '\\u4e2\\u56fd'

上面的字符串应该如何解码呢?


我不知道有没有相应的库函数能做到,这里提供一个手动做的办法。

问题:对字符串进行手动转义

chr(number) 返回number的值对应unicode
例:

>>> u = 0x56fd
>>> s = chr(u)
>>> print(s)
国

所以这里有一个思路是,遍历字符串,遇到r'u'就取出后四个字符,将其变为整型,然后使用chr()函数转为unicode并拼接

PS:十六进制字符串转整型可用函数int()
例:

>>> int('56fd', 16)
22269
【热门文章】
【热门文章】