gpt4 book ai didi

python - 有没有一种简单的方法来获得 utf8 编码字符串的子字符串,子字符串的 repr 长度小于 python 中的 N

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:08:54 24 4
gpt4 key购买 nike

例如我有一个字符串,我希望找到一个简单的方法来得到一个子字符串,它以utf-8编码,并且子字符串的repr长度<= N,当然我可以尝试N/3 substring 并增加 N/3+1,N/3+2,...,但有没有简单的方法?

word = u"this is a ship, and some other words".encode("utf-8")
#some way got a substring
substring = func(word, N)
#assert len(repr(substring)) <= N

谢谢!

最佳答案

一种可能的方法:

  1. 取整个字符串的repr的前N-1个字节。
  2. 检查最后 3 个字节以查看您是否破坏了转义序列并在必要时削减字节
  3. 附加引号,请记住它可能是 '"
  4. 将 repr 评估回 utf-8。
  5. 检查最后几个字节,看看您是否在 Unicode 代码点中间破坏了字符串,并在必要时删除了字节。您可以通过检查位模式来区分前导字节和连续字节。

关于python - 有没有一种简单的方法来获得 utf8 编码字符串的子字符串,子字符串的 repr 长度小于 python 中的 N,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16264822/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com