【发布时间】:2020-02-26 12:02:22
【问题描述】:
我正在从网站上抓取一些数据并使用正则表达式我能够提取一些 UTF-16 格式的字符串。使用this 站点,我能够解码我提取的字符串,但我想在 Python 中完成这一切。
提取的文本是 String 格式,而不是字节。所以一个简单的.encode() 是行不通的。
例如:
字符串:\u0074\u0065\u0073\u0074 --> 字符串:test
我可以考虑通过将字符串视为字节对象来解决这个问题,但我不知道该怎么做。
编辑:我使用正则表达式提取的数据块:
I = new Array();
I[0] = new Array();
I[0][1] = new Array();
I[0][1][0] = new Array();
I[0][1][0][0] = '\u0074\u0065\u0073\u0074';
I[0][2]='';
任何帮助表示赞赏。
谢谢
【问题讨论】:
-
我找不到这个问题的任何重复项,所以如果你找到一个,请在这里链接,谢谢
-
Unicode 是可读的文本。您现在阅读的页面是 Unicode(特别是 UTF8),这就是为什么我可以写 Αυτό Εδώ 并且知道它会毫无问题地出现。您发布的是转义序列
-
您为什么认为涉及到任何类型的编码或解码?您在哪里看到这些转义序列,该字符串是如何构造的?可能是转义序列只是调试器显示这些字符的方式
-
@PanagiotisKanavos 它是在网页中使用 Javascript 构建的。我对js不太熟悉,但我还是会用更多信息编辑帖子
-
Javascript 字符串是 UTF16,就像 Java 和 C#(在 SO 中使用)一样。不需要编码。您发布的只是转义序列。事实上,如果我只是在 Python3 中输入
'\u0074\u0065\u0073\u0074',我会在控制台中得到test。如果我输入'\u0074\u0065\u0073\u0074'=='test'我会得到True
标签: python unicode type-conversion decode