python写入中文、用utf-16编码得出二进制字节串_在python中将unicode UTF16数据写入文件时出现问题...
我正在用python2.6.1開發(fā)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運行它,然后將它和結(jié)果都寫入一個新的Unicode UTF-16文本文件。在
我寫了下面的Python腳本(實際上,我編寫了比這更復(fù)雜的東西,并進行了更多的錯誤檢查,但這只是一個最小的測試用例):
^{pr2}$
這給了我一個幾乎是Unicode的文件,其中有一些額外的字節(jié):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是一個引號,我假設(shè)“E3”是一個轉(zhuǎn)義字符,urllib2用它來表示下一個字符是UTF-16編碼的??在
如果我運行相同的腳本,但是使用“cs”(捷克語)而不是“ja”(日語)作為目標語言,那么響應(yīng)都是ASCII,我得到的Unicode文件首先是UTF-16字符,然后是“Ahoj”作為單字節(jié)ASCII字符。在
我肯定我錯過了一些顯而易見的東西,但我看不出是什么。我試過了urllib.unquote(),但這沒有幫助。我還嘗試在f.readlines()中返回時打印該字符串,這一切看起來都很合理,但很難判斷,因為我的終端窗口不支持Unicode。在
還有什么建議可以試試嗎?我已經(jīng)看過了建議的欺騙,但似乎沒有一個與我的設(shè)想完全吻合。在
總結(jié)
以上是生活随笔為你收集整理的python写入中文、用utf-16编码得出二进制字节串_在python中将unicode UTF16数据写入文件时出现问题...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ip代理服务器软件25探索云速捷_IP代
- 下一篇: python循环中append_[Pyt