【问题标题】:How to convert octal escape sequences with Python如何使用 Python 转换八进制转义序列
【发布时间】:2014-04-19 17:41:15
【问题描述】:

我从 PDF 中提取 javascript 代码,但它是转换后的八进制转义序列。

我想把它转换成普通的 JavaScript 代码。

\040\040\040\040\146\165\156\143\164\151\157\156\040\163\167\050\051\17....

请给我建议。

【问题讨论】:

    标签: python


    【解决方案1】:

    你可以使用unicode_escape encoding:

    在 Python 2.x 中:

    >>> r'\040\040\040\040\146\165\156\143\164\151\157\156'.decode('unicode-escape')
    u'    function'
    

    在 Python 3.x 中:

    >>> br'\040\040\040\040\146\165\156\143\164\151\157\156'.decode('unicode-escape')
    '    function'
    

    【讨论】:

      【解决方案2】:

      这适用于 Python 2.x 和 3.x:

      >>> b'\040\040\040\040\146\165\156\143\164\151\157\156\040\163\167'.decode('utf-8')
      '    function sw'
      

      【讨论】:

      • 如果使用转义序列(非原始字符串),则不需要使用decode
      • 是的,但你最终得到的是一个字节数组而不是一个字符串。
      • 你是对的。如果没有decode 调用,您将获得bytes 对象。 (但仅在 Python 3.x 中)
      猜你喜欢
      • 2016-08-15
      • 2016-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-29
      • 2016-06-16
      • 1970-01-01
      相关资源
      最近更新 更多