[英]Iterating through a unicode string in Python
我遇到了使用python逐字符串地迭代unicode字符串的問題。
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)和編解碼器,但仍然無法獲得任何好的結果。 這似乎是一個簡單的問題,但對我來說卻是令人沮喪的。
希望有人能指出我正確的方向。
謝謝!
# -*- coding: utf-8 -*-
word = "文本"
print(word)
for each in unicode(word,"utf-8"):
print(each)
輸出:
文本
文
本
from type to : 你應該將從類型轉換為 :
print "w: ",word
for c in word.decode('utf-8'):
print "word: ",c
我使用的代碼就是這個
fileContent = codecs.open('fileName.txt','r',encoding='utf-8')
#...split by whitespace to get words..
for c in word:
print(c.encode('utf-8'))
對於python 3,這是有效的:
import unicodedata
word = "文本"
word = unicodedata.normalize('NFC', word)
for char in word:
print(char)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.