Python将文件内容转换为Unicode格式
比如,我有一个文件叫做 a.js,里面的内容是:
Hello, 你好, bye.
这个文件里有两个中文字符,它们的 Unicode 形式是 \u4f60\u597d
我想写一个 Python 程序,把 a.js 中的中文字符转换成它的 Unicode 形式,然后输出到 b.js,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 字符串。
5 个回答
0
你可以用两种方法。第一种是使用 'encode' 方法。
str1 = "Hello, 你好, bye. "
print(str1.encode("raw_unicode_escape"))
print(str1.encode("unicode_escape"))
另外,你也可以使用 'codecs' 模块:
import codecs
print(codecs.raw_unicode_escape_encode(str1))
1
你可以试试 codecs 模块
codecs.open(文件名, 模式[, 编码[, 错误处理[, 缓冲]]])
a = codecs.open("a.js", "r", "cp936").read() # a is a unicode object
codecs.open("b.js", "w", "utf16").write(a)
5
>>> print u'Hello, 你好, bye.'.encode('unicode-escape')
Hello, \u4f60\u597d, bye.
不过你可以考虑使用JSON,具体可以通过json
这个链接了解。