Python命令行是应用很广泛,我们在使用的时候有很多的困难存在,下面我们就来详细的看看如何进行这些问题的排除。希望大家在之后的使用中有所帮助。
初学Python命令行,遇到很多编码问题,记下来以免将来又忘了,很多东西不懂,都是属于不求甚解,乱下结论,但想到拿出来可以有热心同学指出错误所在,便厚起脸皮了……
首先需要了解Python中有两种字符串(严格地说,似乎不能这么叫)。一种是普通的str对象(每个字符用8bits表示),另一种是unicode字符串,它们可以相互转换。
首先打开pyshell,输入一段代码。
python 代码
- >>> a = "我"
- >>> b = unicode(a,"gb2312")
- >>> a.__class__
- <type 'str'>
- >>> b.__class__
- <type 'unicode'>
- >>>
看出来了吧,两种字符串。再来
python 代码
- >>> a
- '\xce\xd2'
- >>> b
- u'\u6211'
变量a是两个字符,b是一个unicode字符。关于这两种字符串,Python文档-->LanguageReference-->DataModel-->The standard type hierarchy-->Sequences,有一些Strings,Unicode的描述。至于
python命令行 代码
- >>> z = u"我"
- >>> #这种代码,其实什么都不是。
- >>> z.__class__
- <type 'unicode'>
- >>> z
- u'\xce\xd2'
看到了吧,这个奇怪的东西......后来在WindowsXP、纯python命令行下试过,得出的结论不同,z的结果变成了u'\u6211',这里完全不应该在pyshell下作试验的,看来还有很多问题尚未理解清楚
【编辑推荐】