Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pyqt5 QTextEdit Windows 10 ASCII符号_Python_Windows_Pyqt5_Ascii_Qtextedit - Fatal编程技术网

Python pyqt5 QTextEdit Windows 10 ASCII符号

Python pyqt5 QTextEdit Windows 10 ASCII符号,python,windows,pyqt5,ascii,qtextedit,Python,Windows,Pyqt5,Ascii,Qtextedit,我使用PyQt5和QTextEdit小部件。我想从文件中获取纯文本并在QTextEdit中显示它。这是我在文本文件中的内容 这就是我初始化QTextEdit的方式 self.info_text_edit.setPalette(palette) font = QtGui.QFont() font.setFamily("Courier") font.setPointSize(10) font.setStyleStrategy(QtGui.QFont.NoAntialias) self.info_t

我使用PyQt5和QTextEdit小部件。我想从文件中获取纯文本并在QTextEdit中显示它。这是我在文本文件中的内容

这就是我初始化QTextEdit的方式

self.info_text_edit.setPalette(palette)
font = QtGui.QFont()
font.setFamily("Courier")
font.setPointSize(10)
font.setStyleStrategy(QtGui.QFont.NoAntialias)
self.info_text_edit.setFont(font)
self.info_text_edit.setLineWrapMode(QtWidgets.QTextEdit.WidgetWidth)
self.info_text_edit.setReadOnly(True)
那么,对于附加一个文本,我只需要这样做

self.info_text_edit.append(str(msg))
在Linux上使用这种方法,一切都很好。但这就是我在Windows上看到的结果


编码\解码出错

当我将
msg
写入文件时,我应该执行以下操作:

import platform
if platform.system() == "Linux":
    msg = str(msg)
elif platform.system() == "Windows":
    msg = str(msg).encode("utf-8").decode('cp1251')
然后,当我从文件中读取
msg
时,我应该执行以下操作:

import platform
if platform.system() == "Linux":
    self.info_text_edit.append(str(msg))
elif platform.system() == "Windows":
    self.info_text_edit.append(str(msg).encode('cp1251').decode('utf-8'))

缺少的是您写入此文本编辑的确切文本。这难道不只是使用了错误的编码(比如UTF-8)吗?UTF-8中编码的字符是
0xE2 0x96 0x88
的–ˆ
(对于我的系统,实际的3个字符显示取决于活动的Windows代码页)。@usr2564301对于这种情况-正确。但是可能有任何角色,当然它们也会以同样的方式被破坏。但是如何以及为什么,我们无法判断您是否没有帮助我们帮助您。@usr2564301我在第一张图片中看到的是正确的。我想在我的QTextedit里看到同样的我明白了。
msg
中有什么,为什么它需要转换为
str
(如果它还不是字符串)?这似乎是原因。这就是我想知道的。