将两个UTF8字节相互拆分的有效方法

2024-10-04 07:38:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个UTF-8字节\xf0\x9f\x93\xb1\xf0\x9f\x9a\xac,我想像\xf0\x9f\x93\xb1那样拆分它,\xf0\x9f\x9a\xac最有效的方法是什么

我现在要做的是在\xf0分裂

问题

如果我按照bigOTHER的建议再次解码和编码,我会得到错误的字节

>>> s ='\xf0\x9f\x93\xb1\xf0\x9f\x9a\xac'
>>> u = s.decode("utf-8")
>>> u
u'\U0001f4f1\U0001f6ac'
>>> u[0].encode("utf-8")
'\xed\xa0\xbd'
>>> u[1].encode("utf-8")
'\xed\xb3\xb1'
>>> u[0]
u'\ud83d'
>>> u[1]
u'\udcf1'

已解决:

这是因为我的python是用UCS2而不是UCS4编译的,而UCS4是默认值。有关更多信息,请查看此Question


Tags: 方法字节建议utfencodexb1x93x9f
2条回答

使用“解码-编码”来执行此操作:

>>> u = s.decode("utf-8")
>>> u
u'\U0001f4f1\U0001f6ac '
>>> u[0].encode("utf-8")
'\xf0\x9f\x93\xb1'
>>> u[1].encode("utf-8")
'\xf0\x9f\x9a\xac'

使用解码方法。它自己把它分成字节。因此,您可以访问后直接调用解码。你知道吗

相关问题 更多 >