Ticket #46506

設定ファイル保存時の文字コード

Eröffnet am: 2023-01-10 20:00 Letztes Update: 2023-01-16 00:19

Auswertung:
Verantwortlicher:
Typ:
Status:
Geschlossen
Komponente:
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Gefixt
Datei:
Keine
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

むかしこのような意見が書かれていたのを思い出しました。

https://twitter.com/sempreff/status/1535543032145408001

teraterm5 、Save setup で iniファイル新規保存すると BOM付UTF-16 になることに気付きました。ほぼ ASCII なので、ディスクの無駄な印象です。

確認ですが、BOM付UTF-16 にしたのは「WritePrivateProfileStringW で書くとそうなるから」あるいは「内部的に変換しなくていいから」という理由であっているでしょうか?

Ticket-Verlauf (3/6 Historien)

2023-01-10 20:00 Aktualisiert von: nmaya
  • New Ticket "設定ファイル保存時の文字コード" created
2023-01-12 00:02 Aktualisiert von: zmatsuo
Kommentar

ドキュメントを追加しました(日本語のみです)。r10476

テストしていたらメモリリークしていた箇所を見つけたため直しました。r10475

UnicodeではないANSIのiniファイルでもおおむねokなのですが、 "😄"などを保存したときに"?"に 化けてしまうのでUnicode版iniファイルのほうが安全です。

UTF-16エンコードだとスペースの無駄なのはUTF-16の仕様だから、 UTF-16を使っている(UTF-8版iniファイルではない)のはOSの仕様だから、 という感じですね。

非推奨APIというのもありますが iniファイルでUTF-16が使えるのはあまり知られていなくて、 Microsoftのドキュメントからはわかりにくいです。

将来(最近?)はUTF-8BOMなiniファイルを扱えるかもしれません。

それと、lng ファイルを収めた lang フォルダが 「lang」 と 「lang_utf16le」の2つあるのは Unicode版iniファイルが扱えないWindows 9xのためですね。

2023-01-12 00:08 Aktualisiert von: nmaya
Kommentar

了解しました。説明ありがとうございます。

2023-01-13 01:08 Aktualisiert von: zmatsuo
  • Komponente Update from (Keine) to Document
Kommentar

TODO

  • 英訳
2023-01-14 00:57 Aktualisiert von: None
Kommentar

英語版を入れました。r10479です。

2023-01-16 00:19 Aktualisiert von: zmatsuo
  • Status Update from Offen to Geschlossen
  • Lösung Update from Keine to Gefixt
Kommentar

クローズします。

Dateianhangliste

Keine Anhänge

Bearbeiten

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Anmelden