gpt4 book ai didi

python - 分割给定字节偏移量的 utf-8 编码字符串 (python 2.7)

转载 作者:行者123 更新时间:2023-11-30 23:49:53 25 4
gpt4 key购买 nike

有一个像这样的 utf-8 编码字符串:

bar = "hello 。◕‿‿◕。"

和一个字节偏移量,告诉我必须在哪个字节分割字符串:

bytes_offset = 9  

如何将条形字符串分成两部分,结果:

>>first_part 
'hello 。' <---- #9 bytes 'hello \xef\xbd\xa1'
>>second_part
'◕‿‿◕。'

简而言之:
给定字节偏移量,如何将其转换为 utf-8 编码字符串的实际字符索引位置?

最佳答案

UTF-8 Python 2.x 字符串基本上是字节字符串。

# -*- coding: utf-8 -*- 

bar = "hello 。◕‿‿◕。"
assert(isinstance(bar, str))

first_part = bar[:9]
second_part = bar[9:]
print first_part
print second_part

产量:

hello 。
◕‿‿◕。

这里是 OSX 上的 Python 2.6,但我希望 2.7 也有同样的情况。如果我分割为 10 或 11 而不是 9,我会得到 ?字符输出意味着它破坏了多字节字符序列中间的字节序列;对 12 进行 split 将第一个“眼球”移动到字符串的第一部分。

我在终端中将 PYTHONIOENCODING 设置为 utf8。

关于python - 分割给定字节偏移量的 utf-8 编码字符串 (python 2.7),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7437151/

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