【问题标题】:unicodedecodeerror 'ascii' codec error in wxPythonwxPython中的unicodedecodeerror'ascii'编解码器错误
【发布时间】:2014-04-28 06:07:46
【问题描述】:

我收到一个错误

unicodedecodeerror 'ascii' 编解码器无法解码位置 1 中的字节 0xc3 序数不在范围内(128)

在执行下面提到的操作时。

我有一个程序,它使用 grep 和 cat 命令从远程机器 (Ubuntu) 读取文件以获取值并通过机器人框架内置关键字 export command from client 将值存储在变量中。

以下是我使用的版本:- 机器人框架:2.8.11 骑行:0.55 腻子:0.63 Pyhton:2.7.3

我正在 Linux 机器上进行 SSH 会话,在该机器上,它们是一个文件,其中数据具有重音字符,例如: Õ Ü Ô Ý 。 在使用“grep”和“cat”命令从包含重音字符的文件中读取文本时,我遇到了这个问题。

unicodedecodeerror 'ascii' 编解码器无法解码位置 1 中的字节 0xc3 序数不在范围内(128)

谢谢。

【问题讨论】:

  • 下面提到的是我从 vcard 获取名字和姓氏值并获取错误的命令。 “unicodedecodeerror 'ascii' 编解码器无法解码位置 1 序数中的字节 0xc3 不在范围内(128)” ${GetFirstname} 从客户端执行命令 cat ${con1}}|grep “^N:”|cut -d “: " -f2|cut -d ";" -f2 ${GetLastname} 从客户端执行命令 cat ${con1}|grep "^N:"|cut -d ":" -f2|cut -d ";" -f1 生成 vcard 的数据文件的数据为:- N:íóñ;ákshat
  • export command from client 不是内置关键字,所以我们很难知道它在做什么。该关键字是来自您自己的公司,还是来自其他外部库?
  • 抱歉,“从客户端执行命令”是用户定义的关键字。在我的项目中,我使用此操作在现有的 SSH 会话(unix one)上执行 cat 和 grep 命令的组合(在我之前的 cmets 中提到)。

标签: python unix wxpython robotframework


【解决方案1】:

我认为问题在于文件包含 UTF-8,而不是 ASCII。 Robot Framework 似乎需要 ASCII 文本。 ASCII 文本仅包含 0-127 范围内的值,当 ascii 编解码器看到字节 0xC3 时,它会引发错误。 (如果文本使用西欧 Windows 8 位编码,0xC3 将是 Ã。如果使用 MacOS 编码,0xC3 将是 ∑。事实上,它是定义单个字符的两个字节中的第一个大多数有趣的重音字符的范围。)

不知何故,您需要教 Robot Framework 使用正确的编码。

【讨论】:

    猜你喜欢
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-02
    • 2020-06-11
    • 2018-07-04
    • 1970-01-01
    • 2015-01-28
    相关资源
    最近更新 更多