很愚蠢的问题,我知道。当然,通常 LANG=C 表示不能显示 Unicode 字符的 ASCII 终端。但我仍然想打印出 UTF-8 字节。我使用 Python 2(实际上是 2.6.5)
print '\xc3\xa4', u'\xe4'
这会在 Unicode 终端上打印 'ä ä',但第二个字符串在使用 LANG=C 执行时会导致错误。我不希望 Python 变得聪明,而只是将 u'\xe4' 转换为 UTF-8,所以它只是 '\xc3\xa4' 在内存中。
我尝试了所有可以想象的 decode()、encode() 和 unicode() 组合,但似乎我错过了正确的组合。
我真正想要的是通过vi的system()
函数读取Unicode字符,比如
:echo system('python foo.py')