unicodeファイルとiniファイルに関してはすでに質問がありますが、それらの多くはドメイン固有のものです。ですから、その答えが一般的なケースに当てはまるかどうかはわかりません。
動機:いくつかの数値やいくつかの文字列などの単純なデータを格納するためにiniファイルを使用したいと思います。文字列はユーザーによって提供されます(GUIを介して入力)。ソフトウェアは世界中のどこでも実行でき、どの言語でも使用できます。ファイルはユーザー間で共有することもできます(したがって、あるシステムでの書き込み、別のシステムでの読み取りなどが可能です)。
私は、iniファイルのUnicodeは、GetPrivateProfileStringW
andを使用するときに問題がないはずだと考えましたWritePrivateProfileStringW
(私はシステム> = Windows XPをターゲットにしています)。
しかし、それから私はこの質問の答えに出くわしました。
引用:
WritePrivateProfileStringW関数は、レガシーサポート関数であるため、レガシーシステムエンコーディング(たとえば、日本のシステムではShift-JIS)でINIファイルを書き込みます。完全にUnicode対応のINIファイルが必要な場合は、外部ライブラリを使用する必要があります。
今はよくわかりません-心配する必要がありますか?または、先に進んでiniファイルを使用できますか?
編集:
ランダムなエンコードを回避するための鍵は、BOMを含む空のファイルを準備してから、このファイルを使用することであると思われます。誰か(ポジティブ/ネガティブ)これを経験したことがありますか?