python在使用ADB工具控制抖音的时候输出文本出现中文乱码,百度过网上说是ADB版本导致
在输出的时候,文本内容如果是中文的话,会出现乱码,英文或者表情包就不会,我查过度娘,大概可以肯定要么就是由于我的ADB版本太低导致,要么就是pycharm编码问题,在此来请教各路神仙,到底我该怎么解决? 调用CMD执行,所有语言都是这样 使用subprocess.popen获取返回二进制数据,decode到utf-8打印出来试试呢 我记得这个问题还真是ADB版本造成了,装个比较新的版本就好了 Maple2d 发表于 2021-4-27 13:42我记得这个问题还真是ADB版本造成了,装个比较新的版本就好了
在哪可以下载ADB最新版本啊,老哥。我看到网上是1.0.39版本不会,但是我去网上搜了一下说是这个版本的ADB回来装,但是还是一样的问题 kicebeauty 发表于 2021-4-27 13:36
使用subprocess.popen获取返回二进制数据,decode到utf-8打印出来试试呢
能否详细讲解一下,怎么使用subprocess.popen获取返回二进制数据 一肖没有脾气 发表于 2021-4-27 14:09
能否详细讲解一下,怎么使用subprocess.popen获取返回二进制数据
def subprocess_popen(statement):
p = subprocess.Popen(statement, shell=True, stdout=subprocess.PIPE)# 执行shell语句并定义输出格式
while p.poll() is None:# 判断进程是否结束(Popen.poll()用于检查子进程(命令)是否已经执行结束,没结束返回None,结束后返回状态码)
if p.wait() != 0:# 判断是否执行成功(Popen.wait()等待子进程结束,并返回状态码;如果设置并且在timeout指定的秒数之后进程还没有结束,将会抛出一个TimeoutExpired异常。)
print("命令执行失败,请检查设备连接状态")
return False
else:
re = p.stdout.readlines()# 获取原始执行结果
result = []
for i in range(len(re)):# 由于原始结果需要转换编码,所以循环转为utf8编码并且去除\n换行
res = re.decode('utf-8').strip('\r\n')
result.append(res)
return result
return True kicebeauty 发表于 2021-4-27 15:36
def subprocess_popen(statement):
p = subprocess.Popen(statement, shell=True, stdout=subproces ...
谢谢,多谢指教
页:
[1]