python對於string的截取是 str[start,end]
一 string類型的字符串拼接
先查看英文,可以看到他們截取是正確的。

inter='hello world'
repr(inter)
list(inter)
inter[2:4]
當存在中文字符時,卻不能正確解析了,

zw='靜夜思abc d'
repr(zw)
list(zw)
zw[2:5]#截取字符串
zw[1:4]
查看一下控制台的編碼格式,可以看到是utf-8編碼。當然,str還可以用其他編碼。
import charade
det=charade.detect(zw)
print det
{'confidence': 0.87625, 'encoding': 'utf-8'}
頁面是用utf-8編碼的。
解決方法,使用unicode進行編碼。下面看看他們之間的區別
二 unicode類型的字符串拼接
當為英文時,區別不大

en=u'hello'
repr(en)
list(en)
en[2:3]
中文夾雜英文時,能查看出,list是按字拆分的

zw=u'靜夜思ab d'
repr(zw)
list(zw)
zw[2:3]
由此可以看出轉換為unicode進行截取正確,但在跟其他字符進行拼接時,需要注意字符串類型問題,str+unicode會報錯~