【发布时间】:2019-06-27 08:34:05
【问题描述】:
目前,我正在编写一个执行 PowerShell 脚本的小型 Python 应用程序。我的 python 脚本应该处理返回的字符串,但不幸的是,我在编码特殊字符时遇到了一些问题,如“ä”、“ö”、“Ü”等。如何返回 Unicode/UTF-8 字符串?
您可以在下面看到一个简单的示例。控制台输出为b'\xc7\xcf\r\n'。我不明白为什么不是b'\xc3\xa4\r\n',因为\xc3\xa4 应该是字符'ä' 的正确UTF8 编码。
try.py:
import subprocess
p = subprocess.check_output(["powershell.exe", ".\script.ps1"])
print(p)
script.ps1:
return 'ä'
我在某些方面采用了我的 PowerShell 脚本,但没有得到想要的结果。
已添加
"[Console]::OutputEncoding = [Text.UTF8Encoding]::UTF8". Result: b'\xc3\x83\xc2\xa4\r\n'返回
return [System.Text.Encoding]::UTF8.GetBytes("ä"). Result: b'195\r\n131\r\n194\r\n164\r\n'
谁能帮助我的上层脚本获得'ä' 的控制台输出?
【问题讨论】:
标签: python powershell encoding character-encoding