修复编码错误的字符

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

我访问了一个网站,其中文本中包含一个字符

ø
。 Unicode 代码点为 248(十六进制为 0xf8)的字符。事实上,Python 控制台证实了这一点:

>>> chr(248)
'ø'

但是自从我理解了文本,我知道该字符已使用错误的编码进行编码。应该是

ř
。事实上,Windows-1250 代码点表 确认值 0xf8 等于字符
ř

我应该应用什么转换来修复文本编码?将

ø
转换为
ř

我无法弄清楚功能的正确顺序。我很无脑地尝试了两种方法:

>>> chr(248).encode().decode('windows-1250')
'ø'

>>> chr(248).encode('windows-1250').decode()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.6/encodings/cp1250.py", line 12, in encode
    return codecs.charmap_encode(input,errors,encoding_table)
UnicodeEncodeError: 'charmap' codec can't encode character '\xf8' in position 0: character maps to <undefined>

但是,正如你所看到的,这些都不起作用。

python character-encoding
1个回答
0
投票

尝试

chr(248).encode('raw_unicode_escape').decode('windows-1250')
© www.soinside.com 2019 - 2024. All rights reserved.