将字符串编码为 ascii

2024-01-06

我有一个很长的字符串,我想将其编码为 ascii。我正在做:

s = s.encode('ascii', 'replace')

但我得到:

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

(我也尝试过'ignore'但这没有帮助。)

我究竟做错了什么?


你的字符串是已经编码与一些编码。在将其编码为 ascii 之前,您必须先解码.

Python 是隐含性尝试解码它(这就是为什么你得到一个UnicodeDecodeError not UnicodeEncodeError).

您可以通过以下方式解决问题显式解码您的字节串(使用适当的编码)before尝试将其重新编码为 ascii。

Example:

s = s.decode('some_encoding').encode('ascii', 'replace')

首先使用您的字符串编码的正确编码,而不是'some_encoding'.

在解码字符串之前,您必须知道字符串使用哪种编码。你从哪里得到字符串?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将字符串编码为 ascii 的相关文章

随机推荐