-2
をお読みください。私は文字列を取得しますが、奇妙なコンテンツを取得します。TZipFileは、私はzipファイルから(UTF8)のテキストファイルを抽出しようとしていますUTF8
zFile->Extract()
を使用すると問題なく動作しますが、ディスク(パフォーマンス)は使用しません。
UTF-8ファイルでread関数を使用する方法はありますか?
をお読みください。私は文字列を取得しますが、奇妙なコンテンツを取得します。TZipFileは、私はzipファイルから(UTF8)のテキストファイルを抽出しようとしていますUTF8
zFile->Extract()
を使用すると問題なく動作しますが、ディスク(パフォーマンス)は使用しません。
UTF-8ファイルでread関数を使用する方法はありますか?
問題はTZipFile
自体ではなく、実際の問題は実際にはWideStringOf()
です。あなたのbda
変数がUTF-8でエンコードされたバイト配列であるので
TZipFile::Read()
は、指定されたアーカイブファイル(必要に応じて解凍)の生バイトを返します。ただし、WideStringOf()
では、代わりにUTF-16LEとしてエンコードされたバイト配列が必要です。そのため、間違った結果が表示されます。
代わりにこれを使用して、UTF-8としてバイト配列を解読するには、次の作品
ShowMessage(TEncoding::UTF8->GetString(bda));
ああTYを、:) – lemara