【发布时间】:2013-08-23 22:14:18
【问题描述】:
同学们,
我无法解析使用 django 表单提交的 unicode 文本文件。以下是我执行的快速步骤:
上传了一个文本文件(编码:utf-16)(文件内容:
Hello World 13)在服务器端,使用
filename = request.FILES['file_field']接收文件逐行查看:
for line in filename: yield linetype(filename)给我<class 'django.core.files.uploadedfile.InMemoryUploadedFile'>type(line)是<type 'str'>print line:'\xff\xfeH\x00e\x00l\x00l\x00o\x00 \x00W\x00o\x00r\x00l\x00d\x00 \x001\x003\x00'codecs.BOM_UTF16_LE == line[:2]返回True现在,我想重新构造 unicode 或 ascii 字符串,如“Hello World 13”,以便我可以解析行中的整数。
这样做最难看的方法之一是使用line[-5:] (= '\x001\x003\x00') 进行检索,然后使用line[-5:][1]、line[-5:][3] 进行构造。
我相信一定有更好的方法来做到这一点。请帮忙。
提前致谢!
【问题讨论】:
标签: python django unicode encoding utf-16