python3字符串前面的u_python去掉 unicode 字符串前面的u方法

有时我们会碰到类似下面这样的 unicode 字符串:

u'\xe4\xbd\xa0\xe5\xa5\xbd'

这明显不是一个正确的 unicode 字符串,可能是在哪个地方转码转错了。

我们要想得到正确的 unicode 字符串首先就必须先将这个字符串转成非 unicode 字符串, 然后再进行解码。按照普通的办法进行 encode 肯定是不行的,因为这不是一个正确的 unicode 字符串:

In [1]: u'\xe4\xbd\xa0\xe5\xa5\xbd'.encode('utf8')

Out[1]: '\xc3\xa4\xc2\xbd\xc2\xa0\xc3\xa5\xc2\xa5\xc2\xbd'

In [2]: print u'\xe4\xbd\xa0\xe5\xa5\xbd'.encode('utf8')

盲陆聽氓楼陆

那如何才能得到我们想要的 \xe4\xbd\xa0\xe5\xa5\xbd 呢?

python 提供了一个特殊的编码( raw_unicode_escape )用来处理这种情况:

In [4]: u'\xe4\xbd\xa0\xe5\xa5\xbd'.encode('raw_unicode_escape')

Out[4]: '\xe4\xbd\xa0\xe5\xa5\xbd'

In [5]: u'\xe4\xbd\xa0\xe5\xa5\xbd'.encode('raw_unicode_escape').decode('utf8')

Out[5]: u'\u4f60\u597d'

In [7]: print u'\u4f60\u597d'

你好

以上这篇python去掉 unicode 字符串前面的u方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值