QtのTXTファイルを読み込み、GBKとUTF-8エンコーディング解析

txtファイルを読み込むとき、多くの場合、エンコードされたファイル形式を取得することはできません。直接使用する場合は、そこに文字化けすることがあります。あなたは、Unicode(Qtのデフォルトのエンコード形式)を使用する前に変換する必要があります。

実際の符号化フォーマットは、非常に入力するが、GBKとUTF-8の通常の主な用途の2種類があるが。変換はフォーマットの一種ではない無効な文字エンコーディングと見なされる場合は、変換を有効にしようとすることができます。

QStringのメインウィンドウ:: GetCorrectUnicode(CONST QByteArray&BA)
{ 
    QTextCodec :: ConverterState状態。
    QTextCodec *コーデック= QTextCodec :: codecForName( "UTF-8"); 
    QStringのテキスト= codec->のToUnicode(ba.constData()、ba.size()、&状態)。
    (state.invalidChars> 0)であれば
    { 
        テキスト= QTextCodec :: codecForName( "GBK") - >のToUnicode(BA)。
    } 
    { 
        テキスト= BA。
    } 
    テキストを返します。
}

おすすめ

転載: www.cnblogs.com/mtn007/p/11762572.html