簡體   English   中英

Python / Django:如何將utf-16 str字節轉換為unicode?

[英]Python/Django: How to convert utf-16 str bytes to unicode?

研究員,

我無法解析使用Django表單提交的unicode文本文件。 以下是我執行的快速步驟:

  1. 上傳了一個文本文件(編碼:utf-16)(文件內容: Hello World 13

  2. 在服務器端,使用filename = request.FILES['file_field']接收文件

  3. 逐行: for line in filename: yield line

  4. type(filename)給我<class 'django.core.files.uploadedfile.InMemoryUploadedFile'>

  5. type(line)<type 'str'>

  6. print line'\\xff\\xfeH\\x00e\\x00l\\x00l\\x00o\\x00 \\x00W\\x00o\\x00r\\x00l\\x00d\\x00 \\x001\\x003\\x00'

  7. codecs.BOM_UTF16_LE == line[:2]返回True

  8. 現在 ,我想像“ Hello World 13”一樣重新構造unicode或ascii字符串,以便可以從行中解析整數。

這樣做的最丑陋的方法之一是使用line[-5:] (= '\\x001\\x003\\x00' )進行檢索,從而使用line[-5:][1]line[-5:][3]

我相信必須有更好的方法來做到這一點。 請幫忙。

提前致謝!

使用codecs.iterdecode()快速解碼對象:

from codecs import iterdecode

for line in iterdecode(filename, 'utf16'): yield line

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM