将扩展的ASCII字符转换为Latin1

时间:2017-10-16 21:55:54

标签: c++ ascii

我可以在以下链接中找到相同ASCII字符的不同值:

1。http://www.theasciicode.com.ar/
   (非拉丁语格式的扩展ASCII)

2。https://www.ascii-code.com/
   (以Latin1格式显示扩展的Ascii)

在第一个链接中,我可以看到á(a带有尖锐的重音)= 160的值, 在第二个链接值á(a with acute accent)= 225

类似地,每个值之间存在随机差异,范围从128-255。

我有一个 C ++ 应用程序,我在非拉丁语格式(1)中获取ASCII值,我需要输出拉丁值(2)。有什么公式可能有帮助吗?请帮忙。谢谢

1 个答案:

答案 0 :(得分:0)

第一个表看起来像您可以在Windows上找到的代码页437。

如果你有一个用这个代码页编码的字符串,你可以像这样解码它:

text = b"your\xa0text".decode("cp437")

你得到:'yourátext'

要将其转换为ISO Latin1,您可以写:

latin1 = text.encode("Latin1"). # or "8859-1"

你得到字节字符串:b'your \ xe1text'

注意:某些字符不会从cp437转换为Latin1。