python - 从文本文件中解码字符串

标签 python string unicode encoding

我有一个文本文件正在另一个应用程序的脚本中读取。 这在记事本中看起来像这样:

Одинцовская РЭС: М.О., Одинцовский район
Климовская РЭС: М.О., г.о. Подольск
Кульшовская РЭС: М.О., г.о. Подольск

该文件有两件事需要: 1. 创建值的字典,用“:”分隔。我在脚本的另一部分使用这个字典 2.允许用户选择想要的值

enter image description here

这是用户启动脚本时看到的内容。 当选择某个值时,我必须在字典中使用它。但问题是选择是 unicode 格式(因为 ArcGIS 中脚本构建的功能),而字典的键是 str。 所以我需要字典中的一个值,如下所示 '\xce\xe4\xe8\xed\xf6\xee\xe2\xf1\xea\xe0\xff\xd0\xdd\xd1' 要转换为 unicode。但是当我创建 .encode('utf-8') 时,它会抛出错误

UnicodeDecodeError:“ascii”编解码器无法解码位置 0 处的字节 0xce:序数不在范围内 (128)

最佳答案

这应该有效

>>> c = b'\xce\xe4\xe8\xed\xf6\xee\xe2\xf1\xea\xe0\xff \xd0\xdd\xd1'
>>> c
b'\xce\xe4\xe8\xed\xf6\xee\xe2\xf1\xea\xe0\xff \xd0\xdd\xd1'
>>> c.decode('unicode_escape')
'Îäèíöîâñêàÿ ÐÝÑ'

b'' 前缀表示 8 位字节序列。

看看SO read russian characters

关于python - 从文本文件中解码字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51741691/

相关文章:

python - Django中实现自动加锁解锁记录应该重写哪些方法

Python & tkinter : canvas. lift 和 canvas.lower 在重叠按钮上不起作用

python - 如何在Python中使用带有日期时间字段的like查询

javascript - 如何将数字四舍五入到小数点后八位并使用不同的颜色?

java - 将 K 互补数组对的效率提高到 O(NlogN)

python - pyodbc unicode 查询失败

python - 读取某些行编码错误的 csv 文件并向用户返回错误行

python - 尝试在 ec2 上部署 django 时出错

python - 消除多余的逗号

macos - PSQL 字符编码/显示奇怪