2010-06-23 39 views
-2
file = open('unicode.txt', 'wb') 

    for i in range(10): 
     file.write(str(unichr(i))) 

我想要做的是所有的Unicode值打印到一个文本文件的Python:打印Unicode到文件

+3

这里有什么问题? – Wilduck 2010-06-23 19:48:40

+1

你忘了'wb'上的'b'吗?这是个问题吗?如果是这样,请修改为(1)正确格式化代码,(2)实际询问实际问题,以便我们知道您实际上遇到了什么问题。 – 2010-06-23 20:03:59

+1

“Unicode值”?你的意思是“字符”还是“字节”?一个unicode字符需要一个或多个字节,具体取决于编码。你想用这个文件做什么? – 2010-06-23 20:39:01

回答

-1

你不应该需要str()待命unichr(i)。 Python unicode对象是可打印的。

此:

file = open('unicode.txt', 'wb') 
for i in range(10): 
    file.write(unichr(i)) 

似乎为我工作,它打印为0x0000,为0x0001,为0x0002,等文本文件。

+1

-1'str()'既不需要也不需要。 “Python unicode对象是可打印的” - 有时,取决于哪些对象,什么平台,窄/宽unicode Python构建,默认编码,可用字体,Python 2.x或3 .x,月相等等。在我的设置中,你的代码会生成一个10字节的文件,其中包含''x00 x01 x02 x03 x04 x05 x06 x07 x08 t'...如果我= 128,我的结果是'UnicodeEncodeError:'ascii'编解码器无法编码字符u'\ x80'在位置0:序号不在范围(128)' – 2010-06-23 22:41:35

2
somefile = codecs.open('unicode.txt', 'wb', someencoding) 

for i in range(10): 
    somefile.write(unichr(i))