python截取字符串乱码怎么处理?
我学习python的过程中遇到了一个问题,就是我在截取中文字符串的时候,输入来的是乱码,而且我也在头部加入过编码,我的代码是这样写的:
#!/usr/bin/python
#coding:utf-8
a= '上海seo网的技术杠杠滴'
b = a[0:4]
print b
输入的结果是一串谁都不认识的乱码字符,但是,如果我的字符串是英文或者数字的情况下,就没有任何问题,请看下面的代码:
#!/usr/bin/python
#coding:utf-8
a= 'shanghaiseojishuganggangdi'
b = a[0:4]
print b
这样无论是输入英文字符还是数字,打印结果都是正常的,求高手解答!
你的问题其实依然是python编码出了问题,解决方法很简单,在需要输出中文字符的前面加关键字“u”,这样问题就得到了解决。具体的原因我就不解释了,你可以自行去百度查询资料,我直接上我修改之后的代码:
#!/usr/bin/python #coding:utf-8 a= u'上海seo网的技术杠杠滴' # 前面加u关键字防止乱码 b = a[0:4] print b
这样处理之后,你再打印输出结果,肯定就正常了。还有一个细节,你可以看,在不加关键词u的情况下,你直接打印a变量,也是不会乱码的,其实就是在截取字符串的过程中,系统又将截取后的字符进行了一次转码。