zoukankan      html  css  js  c++  java
  • 飘逸的python

     
    有时候我们从其它地方接受的字符串经过艰难跋涉,它变了个样。比如收到的是'u6253u602au8005'而不是u'u6253u602au8005'。
    明明肉眼看起来只需要加个u,但是怎么加呢?
    >>s = 'u6253u602au8005'
    >>s
    '\u6253\u602a\u8005'
    >>'u'+s
    'u\u6253\u602a\u8005'

     
    这样不行。
    而且表面看起来是'u6253u602au8005',其实内部是'\u6253\u602a\u8005',就是转义了反斜杠,有2个斜杠,而我要的是u而不是 \u
    这时喜欢用黑魔法的可能会想到eval。
    >>eval('u"'+s+'"')
    u'u6253u602au8005'
    >>print eval('u"'+s+'"')
    打怪者

     
    嗯,没错,用eval可以。不过这样实现太蛋疼了。
    python就自带了解决方法。就是 unicode-escape
    >>unicode(s,'unicode-escape')
    u'u6253u602au8005'

     
    另外,还有个跟unicode-escape齐名的东西,叫 string-escape。它的作用可以说是“去掉转义,把2个反斜杠变成1个”。看例子。
    >>s = 'hello\nworld'
    >>s
    'hello\nworld'
    >>s.decode('string-escape')
    'hello world'

  • 相关阅读:
    C++中struct和class的区别
    关于LBP特征等价模式的解释
    常用的颜色模型
    flask类装饰器
    flask的方法视图
    flask standrad class 使用
    flask add_url_rule的使用
    模板的继承
    模板变量设置 set 和 with
    模版include的用法
  • 原文地址:https://www.cnblogs.com/pangblog/p/3246641.html
Copyright © 2011-2022 走看看