欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python写入中文、用utf-16编码得出二进制字节串_在python中将unicode UTF16数据写入文件时出现问题...

发布时间:2025/6/17 python 15 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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数据写入文件时出现问题...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。