gpt4 book ai didi

python - 在 Python 中将 utf-8 转换为 latin-1

转载 作者:太空宇宙 更新时间:2023-11-04 08:08:42 26 4
gpt4 key购买 nike

我想这样做:

获取这个 utf-8 字符串的字节:

访问视频

用 latin-1 编码这些字节并打印结果:

访视频

我如何在 Python 中执行此操作?

# -*- coding: utf-8
s = u'访视频'.encode('latin-1')

导致此异常:

s = u'访视频'.encode('latin-1')
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-2: ordinal not in range(256)

最佳答案

您要执行的操作实际上是不可能的。您不能将这些字符编码为 Latin-1,因为这些字符在 Latin-1 中不存在。

要获得所需的输出,您需要解码 UTF-8 字节就好像它们是Latin-1 一样。像这样:

s = u'访视频'.encode('utf-8').decode('latin-1')

但是,您想要的输出看起来不像实际的 Latin-1,因为在 Latin-1 中,字符 \x86\x91 是不可打印的,所以你会得到这个:

è®¿è§ é¢

(请注意中间的空格代替了 ,最后缺少了 ';这些实际上是不可见的控制字符,而不是空格。)

看起来您想要一个 Latin-1 超集,可能是 Windows 代码页 1252。在这种情况下,您真正​​想要的是:

s = u'访视频'.encode('utf-8').decode('cp1252')

关于python - 在 Python 中将 utf-8 转换为 latin-1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26938252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com