python中文字符串长度

python处理中文字符串(Python3.5如何对中文字符串进行处理)

1.Python 3.5 如何对中文字符串进行处理

在Python的string前面加上'r', 是为了告诉编译器这个string是个raw string,不要转意backslash '\' 。 例如,\n 在raw string中,是两个字符,\和n, 而不会转意为换行符。由于正则表达式和 \ 会有冲突,因此,当一个字符串使用了正则表达式后,最好在前面加上'r'。

在[]中

-长用来指定一个字符集,在这个字符集中的一个可以拿来匹配:[abc] [a-z]

-元字符在在字符集中不起作用

-在[]内用^表示补集,用来匹配不在区间范围内的字符

s=r'aba' 匹配abc

s=r't[io]p' 匹配tip或者top

s=r't[a-z0-9A-Z]'匹配t+0-9或者a-z或者A-Z

[abc]表示“a”或“b”或“c”

[0-9]表示0~9中任意一个数字,等价于[0123456789]

[\u4e00-\u9fa5]表示任意一个汉字

[^a1

2.请问python怎么可以很好的处理中文字符

# -*- coding: utf8 -*-a={'一':'二'}print a['一']print a.values()print a.__getattribute__print('\n。

\n')b={'1':'2'}print b['1']print b.values()------------------------------------输出--------------------->>> ================================ RESTART ================================>>> 二['\xe4\xba\x8c']

2['2']可以看到a.values出现了中文显示不正常这个有好的解决办法么?。

3.如何解决Python中文问题

python的中文问题一直是困扰新手的头疼问题,Python的发行版至今尚未包括任何中文支持模块。当然,几乎可以确定的是,在将来的版本中,python会彻底解决此问题,不用我们这么麻烦了。 笔者使用的是2.5版本。Python的版本可以通过调用sys模块的sys.version查看。在几个月的学习中,主要遇到以下问题:

1. print打印中文的问题:

在编辑器中输入一段测试代码:

s='测试'

print s

运行结果如下:

Non-ASCII character '\xb2' in file c:\Documents and Settings\Administrator\桌面\2.py on line 1, but no encoding declared; see for details: 2.py, line 1, pos 0

原因是如果文件里有非ASCII字符,需要指定编码声明。把2.py文件的编码重新改为utf-8,并加上编码声明:

# -*- coding: utf-8 -*-

s='测试'

print s

运行后可以正确打印中文。

2.中文路径的问题。

在D盘下保存一个名字为‘中文.txt'的文件。运行如下测试代码:

# -*- coding: utf-8 -*-

f=open('D:\\中文.txt', 'r')

print f.read()

运行结果如下:

IOError: [Errno 2] No such file or directory: 'D:\\\xe4\xb8\xad\xe6\x96\x87.txt'

字符串有很多的编码,不同的系统和平台有各自的编码 ,为了实现系统或平台之间的信息交互可能需要编码转换。这里只需要先使用UNICODE编码一下,这样再读取中文路径就不会有问题了:

复制代码

# -*- coding: utf-8 -*-

path='D:\\中文.txt'

spath=unicode(path , "utf8")

f=open(spath,'r')

print f.read()

复制代码

然后就可以正确显示文件内容

总结:

所有的中文显示问题都可以归结为编码问题,遇到其他类似的问题,那只能仔细看文档,靠你的经验,靠你多做测试。而且根据python所报出来的错误一般也可以判断出来。那么当发现需要编码转换时,剩下的就是如何正确进行码制转换。

为了正确处理多语言文本,Python在2.0版后引入了Unicode字符串。从那时起,Python语言中的字符串就分为两种:一种是2.0版之前就已经使用很久的传统Python字符串,一种则是新的Unicode字符串。在Python语言中,一般的解决办法是使用unicode()内建函数对一个传统Python字符串进行“解码”,得到一个Unicode字符串,然后又通过Unicode字符串的encode()方法对这个Unicode字符串进行“编码”,将其“编码”成为传统Python字符串。

4.Python如何将Unicode中文字符串转换成 string字符串

Unicode字符串可以用多种方式编码为普通字符串,假设unicodestring = u"Hello world",依照所选择的编码(encoding),如下:

1、#将Unicode转换成普通的Python字符串:"编码(encode)"。

2、#将普通的Python字符串转换成Unicode: "解码(decode)"。

扩展资料:

Python转换字符和字符串的原因:为了处理不适合用ASCII字符集表示的数据。

在以ASCII码为中心的语言和环境中,字节和字符被当做相同的事物。由于一个字节只能有256个值,这些环境就受限为只支持256个字符Unicode码,另一方面,有数万个字符,那意谓着每个Unicode字符占用多个字节,因此,你需要在字符和字节之间作出区别。

(1)UTF-8编码能处理任何的Unicode字符。它也是与ASCII码向后兼容的,因此一个纯粹的ASCII码文件也能被考虑为一个UTF-8文件,而且一个碰巧只使用ASCII码字符的 UTF-8文件和拥有同样字符的ASCII码文件是相同的。

这个特性使得UTF-8的向后兼容性非常好,尤其使用较旧的Unix工具时。UTF-8 无疑地是在 Unix上的占优势的编码。它主要的弱点是对东方文字是非常低效的。

(2)UTF-16编码在微软的操作系统和Java环境下受到偏爱。它对西方语言是比较低效,但对于东方语言是更有效率的。一个UTF-16 的变体有时叫作UCS-2 。

(3)ISO-8859编码系列是256个字符的ASCII码的超集。他们不能够支援所有的Unicode码字符;他们只能支援一些特别的语言或语言家族。

ISO-8859-1,也既Latin-1,包括大多数的西欧和非洲语言,但是不含阿拉伯语。ISO-8859-2,也既Latin-2,包括许多东欧的语言,像是匈牙利语和波兰语。

参考资料:

百度百科--Unicode

5.请教python匹配中文字符的方法

在Python的string前面加上'r', 是为了告诉编译器这个string是个raw string,不要转意backslash '\' 。 例如,\n 在raw string中,是两个字符,\和n, 而不会转意为换行符。由于正则表达式和 \ 会有冲突,因此,当一个字符串使用了正则表达式后,最好在前面加上'r'。

在[]中

-长用来指定一个字符集,在这个字符集中的一个可以拿来匹配:[abc] [a-z]

-元字符在在字符集中不起作用

-在[]内用^表示补集,用来匹配不在区间范围内的字符

s=r'aba' 匹配abc

s=r't[io]p' 匹配tip或者top

s=r't[a-z0-9A-Z]'匹配t+0-9或者a-z或者A-Z

[abc]表示“a”或“b”或“c”

[0-9]表示0~9中任意一个数字,等价于[0123456789]

[\u4e00-\u9fa5]表示任意一个汉字

[^a1[^a-z]表示除小写字母外的任意一个字符

python处理中文字符串

转载请注明出处编程代码网 » python中文字符串长度

资讯

python中国镜像(怎么python打包docker镜像)

阅读(0)

本文主要为您介绍python中国镜像,内容包括如何制作一个定制的Python基础Docker镜像,怎么python打包docker镜像,Python中range函数如何表示1到正无穷望大神解答谢啦

资讯

matlab与python接口(如何实现python与matlab连接)

阅读(0)

本文主要为您介绍matlab与python接口,内容包括如何实现python与matlab连接,如何实现python与matlab连接,Python跟Matlab有什么区别和联系呢?。Python调用Matlab实现混合编程http://www.tuicool.com/articles/2eEZ7fPython与Mat

资讯

免费的python开发工具(python编程软件有什么)

阅读(0)

本文主要为您介绍免费的python开发工具,内容包括有没有免费的pythonide工具推荐,python编程软件有什么,值得推荐的Python开发工具。Python开发软件可根据其用途不同分为两种,一种是Python代码编辑器,一种是Python集成开发工具,两者的配合使用

资讯

python3的urllib爬虫(python3.x中的urllib.request怎么用)

阅读(0)

本文主要为您介绍python3的urllib爬虫,内容包括python爬虫urllib和requests的区别,python3爬虫urllib.request.urlopen("网址").read()本来是utf8,,pythonurllib怎么用。python 3.x中的urllib.request怎么用# -*- coding: utf-8 -*-str_=ss

资讯

vs2010配置python(VS2010中Python的可视化编程如何实现??)

阅读(0)

本文主要为您介绍vs2010配置python,内容包括VS2010中Python的可视化编程如何实现??,visualstudio怎么配置python,visualstudio可以搭建python吗。pyqt开发我们都是用eric4的。所以也不需要手动生成py文件了,一键编译。vs2010用来做.net, c++

资讯

python3官方(如何安装pipwindows)

阅读(1)

本文主要为您介绍python3官方,内容包括如何windows上安装python3python,python3安装numpy,Scrapy,如何安装pipwindows。python2中pip的安装下载 setuptools 注意对应 Python 的版本,完成后运行 exe 即可完成安装 setupto

资讯

pythondockerfile(怎么python打包docker镜像)

阅读(0)

本文主要为您介绍pythondockerfile,内容包括怎么python打包docker镜像,怎样在Python中操作Docker容器,dockerfile是什么文件。当想让一个容器做两件事情,或者使一个Docker镜像包含来自两个不同镜像的依赖库时,就需要知道每个镜像的Dockerfile

资讯

sublimepython高亮(sublime语法高亮怎么自定义)

阅读(0)

本文主要为您介绍sublimepython高亮,内容包括如何在博客中使用SublimeText风格的代码高亮样式,sublime语法高亮怎么自定义,sublimetext3怎么设置高亮。方法如下:找到sublime text 3的软件,启动打开,鼠标移至菜单栏点击“file”“open file”,打

资讯

pythonscrapy分布式(如何用python构建一个简单的分布式系统)

阅读(1)

本文主要为您介绍pythonscrapy分布式,内容包括scrapy分布式怎么实现,scrapy适合分布式爬虫吗,如何用Python写一个分布式爬虫。从GitHub中整理出的15个最受欢迎的Python开源框架。这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等

资讯

geojsonpython(如何生成geojson格式的tiles)

阅读(0)

本文主要为您介绍geojsonpython,内容包括如何生成geojson格式的tiles,如何生成geojson格式的tiles,json和geojson有什么区别。转载自 需下载的工具有:python:python-2.6Python Setup tools :setuptools-0.6c11.w

资讯

pythonenvelopes(python中return到底什么意思)

阅读(0)

本文主要为您介绍pythonenvelopes,内容包括python中return到底什么意思,python中class.函数()和class.函数的区别是什么?,python中return的用法与作用。return,就是函数返回传。每一个函数都必须有一个返回值的,如果函数中没有写return,默认返

资讯

python官方教程中文(刚开始学openERP+Python,如何快速入门?)

阅读(1)

本文主要为您介绍python官方教程中文,内容包括刚开始学openERP+Python,如何快速入门?,怎样用Windows入门Python,python基础教程。0.Python简明教程下载地址:python简明教程中文.pdf很简洁的一本教材,就算没有基础,你也可以像读小说一样,花半天