UTF-16 作为 python 中的代码单元序列

问题描述 投票:0回答:1

我有字符串“abç” 在 utf8 中是 b'ab\xc3\xa7'

我想要 utf-16 格式,但不是这样 :

b'ab\xc3\xa7'.decode('utf-8').encode('utf-16-be')

这给了我

b'\x00a\x00b\x00\xe7'

我想要的答案是utf-16代码单元,即int列表:

[32, 33, 327]

有什么简单的方法可以做到这一点吗?

当然,反之亦然。给定一个 utf-16 代码单元的整数列表,如何将其转换为 utf-8?

python unicode utf-8 utf-16
1个回答
0
投票

示例中的十进制字符值是错误的,但我认为您可能正在寻找这个:

>>> x = b'ab\xc3\xa7'.decode('utf-8')
>>> x
'ab\xe7'
>>> len(x)
3
>>> list(map(ord, x))
[97, 98, 231]
>>> 

在此示例中,97 是

a
,98 是
b
,231 是
\xc3\xa7

© www.soinside.com 2019 - 2024. All rights reserved.