web应用难免会截取字符串的需求,Python中截取英文很容易,但是截取utf-8的中文机会截取一半导致一些不是乱码的乱码.其实utf8截取很简单,这里记下来分享给大家
先来看个例子:
#-*- 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个字节。
以上所述就是本文的全部内容了,希望大家能够喜欢。
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。
- 上一篇: 深入理解Python中各种方法的运作原理
- 下一篇: 构建Python包的五个简单准则简介