如何找到将 Unicode 字符串转换为字节字符串的新匹配位置?

再制造

我知道我可以使用以下命令将 UnicodeString 转换为 ByteString,反之亦然:

UnicodeStr = ByteStr.decode(encoding='UTF-8')
ByteStr = UnicodeStr.encode(encoding='UTF-8')

UTF-8 是多字节字符编码。字符可以有 1 到 4 个字节,匹配的位置从 UnicodeStr 转换为 ByteStr。这不是使用英文文本字符的大问题,但它使用的是法语、德语、西班牙语或荷兰语中的字符。

pe:
UnicodeStr = "Ça te changera les idees John!" (=这会让你忘记约翰的事情!)

“idees”这个词的匹配位置是:

p=re.compile("idées")
for m in p.finditer(UnicodeStr):
    print(m.span())

--> (19, 24)

如何找到将 UnicodeStr 转换为 ByteStr 的新匹配位置?

本杰明

也许通过转换模式:

p=re.compile("idées".encode(encoding='UTF-8'))
for m in p.finditer(ByteStr):
    print(m.span())

(20, 25)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章