pydev不提示变量的时候用alt+/ 来解决
看了http://blog.csdn.net/kiki113/article/details/4062063这篇文章之后的疑问:
问题1:gbk和unicode编码的不同
#coding:gbk
ss='哈哈'
print ss
ss1=u'哈哈'
print len(ss),len(ss1)
print ss==ss1
结果:
哈哈
4 2
True
为什么相同但是长度不一样?
问题2:
解决utf-8格式和unicode和编码问题
s1=u'哈哈'
s='哈哈'
utf8_s=unicode(s,'utf-8')
utf8_s==s1
True
print utf8_s
哈哈
print s1
哈哈
python默认读取文本的格式为ansi,如果将文本的格式转化为utf-8则需要解码
例如:print open("Test.txt").read().decode("utf-8")
问题3:
声明文件的格式不同
文件的编码格式决定了在该源文件中声明的字符串的编码格式
即意味着如果声明为gbk编码的文件,最好文件也声明为gbk格式的,如果文件为utf-8格式的话,容易出错。
s='你好'
s1=u'你好'
s
'\xe4\xbd\xa0\xe5\xa5\xbd'
s1.encode('utf-8')
'\xe4\xbd\xa0\xe5\xa5\xbd'
s==s1.encode('utf-8')
True
以上代码说明控制台程序默认的格式是utf-8编码