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

如何在Python中将返回/存储的字符串视为原始字符串?

  •  1
  • Brendan  · 技术社区  · 16 年前

    我正在努力 .split() 十六进制字符串,即 '\xff\x00' 获取列表,即 ['ff', '00']

    如果我在原始字符串上拆分,这是有效的。 r'\xff\x00' 使用 .split('\\x') 但如果我对存储在变量中的十六进制字符串进行拆分或从函数返回(我假定它不是原始字符串),则不会这样做。

    如何将存储/返回的字符串转换为或至少“强制转换”为原始字符串?

    2 回复  |  直到 16 年前
        1
  •  6
  •   Mark Byers    16 年前
    x = '\xff\x00'
    y = ['%02x' % ord(c) for c in x]
    print y
    

    输出:

    ['ff', '00']
    
        2
  •  0
  •   catwell    16 年前

    以下是一个符合原始问题精神的解决方案:

    x = '\xff\x00'
    eval("r"+repr(x)).split('\\x')
    

    它将返回与 r'\xff\x00'.split('\\x') : ['', 'ff', '00'] .

    推荐文章