python按字节长度截取字符串(按bytes长度截取str)

需求: python将字符串按照字节数来截取,

找了很多文章都是有关联但又不能完全解决此需求,自己总结一下。

遇到的需求是:推送目标有字节数限制 最大4096字节,但我推送的是个字符串(包含中/英文、特殊符号),且想要尽可能多的将文本内容推送出去,所以按照字符串截取时 不想取太少,取太多又偶尔会超出限制。

下面列出代码:

str_txt = '测试文本ceshi'
cut_bytes = str_txt.encode('utf-8')
cut_tmp = cut_bytes[:900] # 此处截取bytes长度900
cut_res = cut_tmp.decode('utf-8', errors='ignore')  # 按bytes截取时有小部分无效的字节,传入errors='ignore'忽略错误
print('cut_res 长度 字节数', len(cut_res), len(cut_res.encode()))

具体思路为:先将str转换成bytes,再截取,然后转换成utf-8输出

参考文章:

python截取中文字符串_架构和代码-CSDN博客_python截取中文字符串 (此文章给了我启发)

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值