python 里in老是在这里出错,有人知道原因吗?

对应中国人来说字符集的相互转换真是麻烦,搞不好就是大串的乱码,实在有必要多多复习一下基本概念!! 

ISO8859-1,通常叫做Latin-1。Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符。而gb2312是标准中文字符集。 

UTF-8 是 UNICODE 的一种变长字符编码,即 RFC 3629。简单的说——大字符集。可以解决多种语言文本显示问题,从而实现应用国际化和本地化。 

对系统来讲,UTF-8 编码可以通过屏蔽位和移位操作快速读写,排序更加容易。UTF-8 是字节顺序无关的,它的字节顺序在所有系统中都是一样的。因此 UTF-8 具有更高的性能。 

在chinaunix看到篇实例讲解,很是直观,下面就贴出来,与大家共享!! 

看到了吧,这个奇怪的东西......后来在WindowsXP、纯python命令行下试过,得出的结论不同,z的结果变成了u'\u6211',这里完全不应该在pyshell下作试验的,看来还有很多问题尚未理解清楚 再来看看encode,decode什么情况用encode,什么情况又是decode呢,刚开始总是被搞昏。其实各种本地字符集的英文名是Coded Character Set,要转换为Coded,肯定是要encode了,同样,从里面解出来也应该叫decode…… decode就是把其他编码转换为unicode,等同于unicode函数;encode就是把unicode编码的字符串转换为特定编码。在pyshell里继续:a是Str类型的,所以再用encode会报错。用print输出时会调用默认编码转换为系统编码? python 代码  

这是因为遇到了非法字符——尤其是在某些用C/C++编写的程序中,全角空格往往有多种不同的实现方式,比如\xa3\xa0,或者\xa4\x57,这些字符,看起来都是全角空格,但它们并不是“合法”的全角空格(真正的全角空格是\xa1\xa1),因此在转码的过程中出现了异常。 

这样的问题很让人头疼,因为只要字符串中出现了一个非法字符,整个字符串——有时候,就是整篇文章——就都无法转码。 

}

I是定义变量,可以用没有指定含义的任何字母替换。

In是包含关键字的布尔函数(true或false)。用法:AINb,判断a是否在B中,如果存在则返回true,否则返回false。示例:

false是true,以下是not的几种常用用法:(1)not与逻辑判断句if一起使用,这意味着当not后面的表达式为false时,将执行冒号后面的语句。例如:a=false if not a:(这里,因为a是false,所以不是a是true)打印“Hello”,在这里可以输出结果Hello(2)判断元素是在列表中还是在字典中,如果a不在B中,a是元素,B是列表或字典,这句话的意思是如果a不在列表B中,然后执行冒号后面的语句,例如:a=5B=[1,2,3]如果a不在B:print “Hello”这里还可以输出结果Hello

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任。如有侵权/违法内容,本站将立刻删除。

}

我要回帖

更多关于 python注释出错 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信