例如,我有一个文件a.js,其内容为:
Hello, 你好, bye.
其中包含两个汉字,其unicode格式为\u4f60\u597d
我想编写一个python程序,它将a.js中的中文字符转换为unicode形式,输出b.js,其内容应为:Hello, \u4f60\u597d, bye
。
我的代码:
fp = open("a.js")
content = fp.read()
fp.close()
fp2 = open("b.js", "w")
result = content.decode("utf-8")
fp2.write(result)
fp2.close()
但似乎中文字符仍然是一个字符,而不是我想要的ASCII字符串。
答案 0 :(得分:5)
>>> print u'Hello, 你好, bye.'.encode('unicode-escape')
Hello, \u4f60\u597d, bye.
但你应该考虑通过json
使用JSON。
答案 1 :(得分:1)
您可以尝试编解码器模块
codecs.open(filename,mode [,encoding [,errors [,buffering]]])
a = codecs.open("a.js", "r", "cp936").read() # a is a unicode object
codecs.open("b.js", "w", "utf16").write(a)
答案 2 :(得分:-1)
我发现repr(content.decode(“utf-8”))将返回"u'Hello, \u4f60\u597d, bye'"
所以repr(content.decode("utf-8"))[2:-1]
将完成这项工作
答案 3 :(得分:-1)
你可以使用repr:
a = u"Hello, 你好, bye. "
print repr(a)[2:-1]
或者您可以使用编码方法:
print a.encode("raw_unicode_escape")
print a.encode("unicode_escape")