[英]Javascript, convert unicode string to Javascript escape?
[英]How to escape UNICODE string in python (to javascript escape)
我有以下字符串"◣⛭◣◃✺▲♢"
,我想把这个字符串变成"\◣\⛭\◣\◃\✺\▲\♢"
。 与此网站完全相同的https://mothereff.in/js-escapes
我想知道这是否可能在python中。 我已经尝试过来自unicode docs for python的所有东西但是失败了。
我以前尝试过的例子:
#!/usr/bin/env python
# -*- coding: latin-1 -*-
f = open('js.js', 'r').read()
print(ord(f[:1]))
帮助将不胜感激!
如果你在python 2中,那么我怀疑你得到的是这样的东西:
>>> s = "◣⛭◣◃✺▲♢"
>>> s[0]
'\xe2'
要获取UTF-8编码文件(或缓冲区)中的unicode代码点,首先需要将其解码为python unicode对象(否则您将看到构成UTF-8编码的字节)。
>>> s_utf8 = s.decode('utf-8')
>>> s_utf8[0]
u'\u25e3'
>>> ord(s_utf8[0])
9699
>>> hex(ord(s_utf8[0]))
'0x25e3'
在你的情况下,你可以直接从ord()转到文字unicode转义,如下所示:
>>> "\\u\x" % (ord(s_utf8[0]))
'\\u25e3'
或者使用列表解析一次性转换整个字符串:
>>> ''.join(["\\u%04x" % (ord(c)) for c in s_utf8])
'\\u25e3\\u26ed\\u25e3\\u25c3\\u273a\\u25b2\\u2662'
当然,当您以这种方式进行转换时,您将显示字符串中所有字符的代码点。 您必须决定显示哪些代码点,否则ABC也将被转义:
>>> ''.join(["\\u%04x" % (ord(c)) for c in u"ABCD"])
'\\u0041\\u0042\\u0043\\u0044'
或者,只需使用georg的建议让python为你解决所有问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.