Fix: 修复electron环境下ampy读取文件时的中文乱码问题

This commit is contained in:
王立帮
2024-08-18 01:53:56 +08:00
parent 36428283e7
commit 996a239b11
4 changed files with 9 additions and 6 deletions

View File

@@ -23,6 +23,7 @@ class AmpyFS extends FS {
#ampy_ = null;
#port_ = '';
#baud_ = 115200;
#decoder_ = new TextDecoder('utf8');
constructor() {
super();
@@ -58,7 +59,7 @@ class AmpyFS extends FS {
try {
const output = await this.#ampy_.get(this.#port_, this.#baud_, filePath);
stdout = output.stdout;
stdout = stdout.replaceAll('\r\r', '\r');
stdout = this.#decoder_.decode(this.#ampy_.unhexlify(stdout));
} catch (e) {
error = e;
Debug.error(error);

View File

@@ -41,6 +41,7 @@ class AmpyExt extends Ampy {
ampy: this.AMPY_PATH
});
}
#exec_ = util.promisify(child_process.exec);
constructor() {

View File

@@ -25,7 +25,7 @@ import platform
import posixpath
import re
import serial.serialutil
import binascii
import click
import dotenv
@@ -157,9 +157,11 @@ def get(remote_file, local_file):
contents = board_files.get(remote_file)
# Print the file out if no local file was provided, otherwise save it.
if local_file is None:
print(contents.decode("utf-8"))
contents = str(contents)[2:-1]
print(contents, end='')
else:
local_file.write(contents)
value = binascii.unhexlify(contents)
local_file.write(value.decode("utf-8"))
@cli.command()

View File

@@ -21,7 +21,6 @@
# SOFTWARE.
import ast
import textwrap
import binascii
import sys
from pyboard import PyboardError
@@ -84,7 +83,7 @@ class Files(object):
except UnicodeDecodeError:
raise ex
self._pyboard.exit_raw_repl()
return binascii.unhexlify(out)
return out
def ls(self, directory="/", long_format=True, recursive=False, exit_repl=True):
"""List the contents of the specified directory (or root if none is