在python中用nonASCII值连接unicode u

2024-06-26 14:48:22 发布

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

我有一个字符串变量-

val = "Rë█_Rajkumar"

现在我想给这个值加上unicode前缀,比如-

^{pr2}$

但是当我尝试使用join-

nor = u''.join(val)

它抛出了一个例外-

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)

我尝试了不同的方法,但都做不到,我该怎么加入


Tags: 字符串inasciiunicodepositionvalbytecan
1条回答
网友
1楼 · 发布于 2024-06-26 14:48:22

前缀仅适用于文本值;带前缀的语法创建与不带前缀的语法不同的对象类型。在

要转换已经创建的str对象,您需要将它们解码为Unicode,而在另一个方向上,unicode对象可以通过编码为字节来转换为str对象。在

如果您不显式地将字节解码为Unicode,Python会用ASCII编解码器隐式地为您完成这项工作。这对你来说失败了,所以你想显式地做。您不想为此使用u''.join();这是为了串联序列。在此处使用str.decode()方法:

nor = val.decode('utf8')

你用什么编解码器解码取决于你的数据。我假设你的数据是用UTF-8编码的。您必须自己确定数据的正确编解码器是什么。在

您可能需要在这里阅读Unicode和字节字符串:

相关问题 更多 >