小编cri*_*ter的帖子

Python3 和编码:在 Linux 和 OSX 上不同吗?

这个字符串:

\n\n
line = \'\\tlong_plugin_output=\\x88\\\\\\\\\\x97\\xe5\\xff\\x7f\\\\n\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

.. 打印时,在我的 Macbook Pro 上产生以下输出:

\n\n
>>> line = \'\\tlong_plugin_output=\\x88\\\\\\\\\\x97\\xe5\\xff\\x7f\\\\n\'\n\n>>> line\n\'\\tlong_plugin_output=\\x88\\\\\\\\\\x97\xc3\xa5\xc3\xbf\\x7f\\\\n\'\n\n>>> print(line)\n    long_plugin_output=\\\\\xc3\xa5\xc3\xbf\\n\n
Run Code Online (Sandbox Code Playgroud)\n\n

..但是它在我的 ubuntu 服务器上产生了这个错误:

\n\n
>>> line = \'\\tlong_plugin_output=\\x88\\\\\\\\\\x97\\xe5\\xff\\x7f\\\\n\'\n\n>>> line\n\'\\tlong_plugin_output=\\x88\\\\\\\\\\x97\\xe5\\xff\\x7f\\\\n\'\n\n>>> print(line)\nTraceback (most recent call last):\n  File "<stdin>", line 1, in <module>\nUnicodeEncodeError: \'ascii\' codec can\'t encode character \'\\x88\' in position 20: ordinal not in range(128)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我在 macbook 上运行的 python 版本:

\n\n
\n

Python 3.3.2(v3.3.2:d047928ae3f6,2013 年 5 月 13 日,13:52:24)[GCC 4.2.1\n(Apple Inc. build 5666)(点 3)] 达尔文

\n\n

$ uname -a Darwin MacBook-Pro.local …

python unicode encoding decode python-3.x

3
推荐指数
1
解决办法
2473
查看次数

标签 统计

decode ×1

encoding ×1

python ×1

python-3.x ×1

unicode ×1