python写入中文、用utf-16编码得出二进制字节串_在python中将unicode UTF16数据写入文件时出现问题...
我正在用python2.6.1开发Windows。在
我有一个包含单个字符串Hello的Unicode UTF-16文本文件,如果我在二进制编辑器中查看它,我会看到:FF FE 48 00 65 00 6C 00 6C 00 6F 00 0D 00 0A 00
BOM H e l l o CR LF
我要做的是读取这个文件,通过googletranslateapi运行它,然后将它和结果都写入一个新的Unicode UTF-16文本文件。在
我写了下面的Python脚本(实际上,我编写了比这更复杂的东西,并进行了更多的错误检查,但这只是一个最小的测试用例):
^{pr2}$
这给了我一个几乎是Unicode的文件,其中有一些额外的字节:FF FE 48 00 65 00 6C 00 6C 00 6F 00 0D 00 0A 00 0A 00
20 22 E3 81 93 E3 82 93 E3 81 AB E3 81 A1 E3 81 AF 22 0A 00
我可以看到20是一个空格,22是一个引号,我假设“E3”是一个转义字符,urllib2用它来表示下一个字符是UTF-16编码的??在
如果我运行相同的脚本,但是使用“cs”(捷克语)而不是“ja”(日语)作为目标语言,那么响应都是ASCII,我得到的Unicode文件首先是UTF-16字符,然后是“Ahoj”作为单字节ASCII字符。在
我肯定我错过了一些显而易见的东西,但我看不出是什么。我试过了urllib.unquote(),但这没有帮助。我还尝试在f.readlines()中返回时打印该字符串,这一切看起来都很合理,但很难判断,因为我的终端窗口不支持Unicode。在
还有什么建议可以试试吗?我已经看过了建议的欺骗,但似乎没有一个与我的设想完全吻合。在
总结
以上是生活随笔为你收集整理的python写入中文、用utf-16编码得出二进制字节串_在python中将unicode UTF16数据写入文件时出现问题...的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: ip代理服务器软件25探索云速捷_IP代
- 下一篇: python循环中append_[Pyt