Delphi 7を使用しています。メモをUnicodeテキストファイルとして保存するにはどうすればいいですか?UTF-8テキストファイルとして保存する例がありますが、ファイルを保存する例が必要です。ユニコードとして。 ありがとうございましたメモをユニコードとして保存する方法
1
A
答えて
4
ユニコードをサポートするコントロールを使用する必要があります。 Delphi 7 TMemo
はありません。つまり、本当の問題はあまりコンテンツを保存するのではなく、最初にコンテンツを受け入れることです。
これは、TNT Unicodeコンポーネントに切り替えることで対処する必要があります。 TNT Unicode componentsの使用を開始すると、TNT Unicodeメモでは内容をUnicodeとして保存することができます。
2
UTF-8
は、ユニコードです。これは、Unicodeデータのバイトコード体系です。実際にファイルをUTF-8
の代わりにUTF-16
として保存する必要がある場合は、別の質問です。
最適なオプションは、Unicodeベースのメモコントロールを使用して、Unicodeデータを処理することです。現代のUnicodeベースのDelphiバージョン(Delphi 2009以降)にアップグレードして、Unicode変換を処理してください。古いANSIベースのDelphiバージョン(Delphi 2007以前)を使用している場合は、Davidが提案したように、サードパーティのUnicode UIコントロールを使用する必要があります。
ただし、ネイティブのVCL ANSIベースのメモを使用すると、依頼内容を達成できます。コード内で手動で変換を管理するだけで済みます。 WideString
文字列型(内部でMultiByteToWideChar()
を使用してANSIデータをUTF-16に変換する)を使用してTMemo
のANSIベースのデータをUTF-16に変換し、UTF-16データをファイルに書き込むことができます。例えば
:
var
BOM: WideChar;
FS: TFileStream;
WS: WideString;
I: Integer;
begin
FS := TFileStream.Create('MyUnicodeFile.txt', fmCreate);
try
BOM := $FEFF;
FS.WriteBuffer(BOM, SizeOf(BOM));
For I := 0 to Memo1.Lines.Count-1 do
begin
WS := WideString(Memo1.Lines[I] + sLineBreak);
FS.WriteBuffer(PWideChar(WS)^, Length(LS) * SizeOf(WideChar));
end;
finally
FS.Free;
end;
end;
関連する問題
- 1. ユニコードをpickleしてutf-8データベースに保存する方法
- 2. Gitのファイルでメモを保存する方法
- 3. ユニコード文字を暗号化してファイルに保存する方法は?
- 4. Javascript、txtファイルに書き込むユニコードとして保存
- 5. 非ASCII文字の印刷/保存方法(ユニコード?)
- 6. iOSアプリがデータベースに音声メモを保存しています
- 7. スカラマップをテーブルとして保存する方法と、テーブルをファイルに保存する方法
- 8. autoit lib(オートメーションロボットフレームワーク)を使用してメモ帳ファイルを特定のフォルダに保存する方法
- 9. メモ帳でメモを取る方法++?
- 10. 他の言語(ユニコード)をクッキーに保存してもう一度取得する方法
- 11. Windowsメモ帳の「保存を依頼する」をオフにする
- 12. ファイルを保存して返す方法
- 13. csvとしてバイパータイトネットワークのワンモードネットワーク投影を保存する方法
- 14. HBITMAPを1BPP PNGとして保存する方法
- 15. イメージをストリームとして保存する方法は?
- 16. blobとして画像を保存する方法
- 17. D3 v4グラフを画像として保存する方法
- 18. フラッタキャンバスをビットマップイメージとして保存する方法は?
- 19. レンダリングビューを静的ファイルとして保存する方法は?
- 20. Android:オブジェクトをsqliteのプリミティブ型として保存する方法
- 21. リストをRedisのセットに値として保存する方法
- 22. numpy配列をTensorflow変数として保存する方法
- 23. スクロールペインのコンテンツをjpgファイルとして保存する方法
- 24. jsoup文書をテキストファイルとして保存する方法
- 25. sparkデータフレームをパーティションハイブテーブルの一部として保存する方法
- 26. JavaScriptオブジェクトをハッシュレコードとして保存する方法
- 27. QubateをNULLとして保存する方法
- 28. ラジオボタンの値を変数として保存する方法
- 29. ピクチャボックスコントロールからjpegとして画像を保存する方法
- 30. kivyキャンバスオブジェクトをイメージファイルとして保存する方法