我有一个文本文件正在另一个应用程序的脚本中读取。 这在记事本中看起来像这样:
Одинцовская РЭС: М.О., Одинцовский район
Климовская РЭС: М.О., г.о. Подольск
Кульшовская РЭС: М.О., г.о. Подольск
该文件有两件事需要: 1. 创建值的字典,用“:”分隔。我在脚本的另一部分使用这个字典 2.允许用户选择想要的值
这是用户启动脚本时看到的内容。
当选择某个值时,我必须在字典中使用它。但问题是选择是 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 位字节序列。
关于python - 从文本文件中解码字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51741691/