python - 解码子进程命令的标准输出
问题描述
我正在尝试使用 Python 的子进程来回显一些巴西字符,但 Python 不返回正确的字符。
代码
import subprocess
output = subprocess.getoutput("echo 'ãõé'")
print(output)
结果
'Æä'
编码
我确实尝试使用'latin-1'和'utf-8'进行编码,但同样的问题仍然存在:
output = subprocess.getoutput("echo 'ãõé'").encode('utf-8')
print(output.decode('utf-8'))
'Æä'
output = subprocess.getoutput("echo 'ãõé'").encode('latin-1')
print(output.decode('latin-1'))
output = subprocess.getoutput("echo 'ãõé'").encode('latin-1') UnicodeEncodeError: 'latin-1' codec can't encode character '\u201a' in position 3: ordinal not in range(256)
问题
如何使用正确的字符打印 Echo 命令的输出,如下所示:
'ãõé'
版本
Python版本:3.9
操作系统:Windows 10 家庭版
解决方案
推荐阅读
- wolfram-mathematica - 在给定组下求解
- security - 我应该在哪里使用 elasticsearch.js 将生成的授权令牌放在 node.js 请求中?
- spring-boot - payara micro的maven原型
- azure - Azure Service Fabric 重置
- php - PHP - SQL - 查询不起作用
- sql - sql 中返回表的函数(Postgres SQL)
- meteor - 错误:meteor 升级到 1.6.1.1 后找不到模块“mongodb”
- algorithm - 计算循环中的排列数
- c# - 将 CrmFloat 转换为双值 C#
- html - 未对齐的文本和单选按钮