我遇到了一个问题,即用Python逐个字符地迭代unicode字符串。
当我使用len(word)时,我得到了6。显然每个字符都由3个Unicode块组成。
因此,我的Unicode字符串已成功存储在变量中,但我无法获取其中的字符。我尝试过使用encode('utf-8')、decode('utf-8)和codecs,但仍然无法获得任何好的结果。这似乎是一个简单的问题,但对我来说却异常困难。
希望有人能指导我正确的方向。
谢谢!
print "w: ",word
for c in word:
print "word: ",c
这是我的输出
w: 文本
word: ?
word: ?
word: ?
word: ?
word: ?
word: ?
我的期望输出是:
文
本
当我使用len(word)时,我得到了6。显然每个字符都由3个Unicode块组成。
因此,我的Unicode字符串已成功存储在变量中,但我无法获取其中的字符。我尝试过使用encode('utf-8')、decode('utf-8)和codecs,但仍然无法获得任何好的结果。这似乎是一个简单的问题,但对我来说却异常困难。
希望有人能指导我正确的方向。
谢谢!
open
方式,需要指定encoding='UTF-8'
而不仅仅是'UTF-8'
,因为您正在设置mode
参数。请参考链接:https://docs.python.org/2/library/codecs.html - jamylakfileContent = codecs.open('fileName.txt','r','utf-8').read()
代替。 - Pruthvi Raj