def findCodecs(self): codecMap = [] iso8859RegExp = QRegExp('ISO[- ]8859-([0-9]+).*') for mib in QTextCodec.availableMibs(): codec = QTextCodec.codecForMib(mib) sortKey = codec_name(codec).upper() rank = 0 if sortKey.startswith('UTF-8'): rank = 1 elif sortKey.startswith('UTF-16'): rank = 2 elif iso8859RegExp.exactMatch(sortKey): if len(iso8859RegExp.cap(1)) == 1: rank = 3 else: rank = 4 else: rank = 5 codecMap.append((str(rank) + sortKey, codec)) codecMap.sort() self.codecs = [item[-1] for item in codecMap]
def getEncodings(): """Returns a list of available encodings. static.""" return [ str( unicode(QTextCodec.codecForMib(mib).name().data(), encoding='utf-8')) for mib in QTextCodec.availableMibs() ]
def updateTextEdit(self): mib = self.encodingComboBox.itemData(self.encodingComboBox.currentIndex()) codec = QTextCodec.codecForMib(mib) data = QTextStream(self.encodedData) data.setAutoDetectUnicode(False) data.setCodec(codec) self.decodedStr = data.readAll() self.textEdit.setPlainText(self.decodedStr)
def process_ready_read_standard_output(self): self.ui.output.appendPlainText( str( QTextCodec.codecForMib(106).toUnicode( self.proc.readAllStandardOutput())))