Python中文字符串截取问题

yipeiwu_com6年前Python基础

先来看个例子:

#-*- coding:utf8 -*-
s = u'中文截取'
s.decode('utf8')[0:3].encode('utf8')
# 结果u'中文截取

延伸阅读:

UTF-8中的汉字占用多少字节?
占2个字节的:〇
占3个字节的:基本等同于GBK,含21000多个汉字
占4个字节的:中日韩超大字符集里面的汉字,有5万多个
一个UTF-8数字占1个字节
一个UTF-8英文字母占1个字节

在查找 UTF-8 编码资料时发现,很多的帖子说的 UTF-8 编码里,一个汉字占用3个字节,有的还做了个证明,大概是这样的,创建一个没有BOM的UTF-8编码的文本文件,里面保存了几个汉字,然后查看文件的大小。我觉得这样的证明没有一点说服力,因为 UTF-8 是变长的,1-6个字节,少量的汉字检测是不能说明所有的汉字都是的。

后来我又查看了字符映射表-汉语,找到了正确的答案,少数是汉字每个占用3个字节,多数占用4个字节。

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

Tornado协程在python2.7如何返回值(实现方法)

错误写法 class RemoteHandler(web.RequestHandler): @gen.coroutine def get(self): resp...

python利用OpenCV2实现人脸检测

python利用OpenCV2实现人脸检测

最近,带领我的学生进行一个URTP项目设计,需要进行人脸识别。由于现在的OpenCV已经到了2.X版本,因此就不想用原来的1.X版本的代码,而网上存在的代码都是1.X版本的代码,尝试自己...

numpy按列连接两个维数不同的数组方式

合并两个维数不同的ndarray 假设我们有一个3×2 numpy数组: x = array(([[1,2], [3, 4], [5,6]])) 现在需要把它与一个一维数组:...

Python 绘图库 Matplotlib 入门教程

Python 绘图库 Matplotlib 入门教程

运行环境 由于这是一个Python语言的软件包,因此需要你的机器上首先安装好Python语言的环境。关于这一点,请自行在网络上搜索获取方法。 关于如何安装Matplotlib请参见这里:...

python中import reload __import__的区别详解

import 作用:导入/引入一个python标准模块,其中包括.py文件、带有__init__.py文件的目录(自定义模块)。 import module_name[,module...