python 计算字符串长度(含中文)

    txt = '名字12' 
    lenTxt = len(txt) 
    lenTxt_utf8 = len(txt.encode('utf-8')) 
    size = int((lenTxt_utf8 - lenTxt)/2 + lenTxt)

    print("size = " , size ," ,urf8 = ",lenTxt_utf8," ,len = " ,lenTxt)

一个中文算两个字符,先转换成utf8,然后通过计算utf8的长度和len函数取得的长度,进行对比即可知道字符串内中文字符的数量,自然就可以计算出字符串的长度

 

print(len('中文'.encode('utf-8')))  #输出几个字节
执行结果:
6

print(len('中文'.encode('gbk')))
执行结果:
4

print(len(',。'.encode('gbk')))
执行结果:
4

2.总结

utf-8编码:一个中文包含繁体字等于三个字节,一个英文字符等于一个字节。
gbk编码:一个中文包含繁体字等于二个字节,一个英文字符等于一个字节。

 

参考:https://blog.youkuaiyun.com/thinbug/article/details/85167202

https://blog.youkuaiyun.com/rzlongg/article/details/89502762

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值