Python将文件内容转换为unicode形式
例如,我有一个文件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字符串。
For example, I have a file a.js whose content is:
Hello, 你好, bye.
Which contains two Chinese characters whose unicode form is \u4f60\u597d
I want to write a python program which convert the Chinese characters in a.js to its unicode form to output b.js, whose content should be: Hello, \u4f60\u597d, bye
.
My code:
fp = open("a.js")
content = fp.read()
fp.close()
fp2 = open("b.js", "w")
result = content.decode("utf-8")
fp2.write(result)
fp2.close()
but it seems that the Chinese characters are still one character , not an ASCII string like I want.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
但您应该考虑使用 JSON,通过
json
。But you should consider using JSON, via
json
.您可以尝试编解码器模块
codecs.open(文件名, 模式[, 编码[, 错误[, 缓冲]]])
You can try codecs module
codecs.open(filename, mode[, encoding[, errors[, buffering]]])
您可以使用两种方法。
第一个,使用'encode'方法
也可以使用'codecs'模块:
There two ways you can use.
first one, use 'encode' method
Also you can use 'codecs' module:
我发现 repr(content.decode("utf-8")) 将返回
"u'Hello, \u4f60\u597d, bye'"
所以
repr(content.decode("utf-8"))[2:-1]
会完成这项工作I found that repr(content.decode("utf-8")) will return
"u'Hello, \u4f60\u597d, bye'"
so
repr(content.decode("utf-8"))[2:-1]
will do the job您可以使用 repr:
或者您可以使用编码方法:
you can use repr:
or you can use encode method: