我知道我可以使用以下命令将 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] 删除。
我来说两句