代码之家  ›  专栏  ›  技术社区  ›  CarolusPl

我想要一个反斜杠-不是两个

  •  1
  • CarolusPl  · 技术社区  · 14 年前

    \x4d\xff\xfd\x00\x02\x8f\x0e\x80\x66\x48\x71

    "\x4d\xff\xfd\x00\x02\x8f\x0e\x80\x66\x48\x71" 不可打印(必须写入串行端口)。我知道这是个问题 \

    4 回复  |  直到 12 年前
        1
  •  5
  •   Abel    14 年前

    如果要解码字符串,请使用 decode() 'string_escape' 作为参数,它将变量中的文字解释为python文字字符串(就好像它在代码中被类型化为常量字符串一样)。

    mystr.decode('string_escape')
    
        2
  •  2
  •   ptomato    14 年前

    使用 decode() :

    >>> st = r'\x4d\xff\xfd\x00\x02\x8f\x0e\x80\x66\x48\x71'
    >>> print st
    \x4d\xff\xfd\x00\x02\x8f\x0e\x80\x66\x48\x71
    >>> print st.decode('string-escape')
    MÿýfHq
    

    最后一个垃圾是我的Python在试图打印不可打印的字符串时打印的。

        3
  •  1
  •   msw    14 年前

    将字符串文字的可打印表示形式与字符串本身混淆:

    >>> c = '\x4d\xff\xfd\x00\x02\x8f\x0e\x80\x66\x48\x71'
    >>> c
    'M\xff\xfd\x00\x02\x8f\x0e\x80fHq'
    >>> len(c)
    11
    >>> len('\x4d\xff\xfd\x00\x02\x8f\x0e\x80\x66\x48\x71')
    11
    >>> len(r'\x4d\xff\xfd\x00\x02\x8f\x0e\x80\x66\x48\x71')
    44
    
        4
  •  1
  •   John Machin Santi    14 年前
    your_string.decode('string_escape')