1

辞書をファイルに保存して、後で別のコンピューター/システムのTclにロードできるようにするための最良の方法は何ですか?

fconfigure $stream -translation binary; puts -nonewline $stream $dictUnicode文字>\u00ffのキー/値がある場合は機能しないと思います。「utf-8」エンコーディングは(ディスクスペースを節約するために)OKですか、それとも常に完全な「ユニコード」を使用する必要がありますか?

辞書は私にとっては初めてのことですが、テキスト表現はキーと値が交互になっているリストの表現であり、リストはいくつかの追加の構文文字を含む単なる文字列であるため、 「文字列をファイルに安全に保存する」という質問があった可能性があります。 ?

4

1 に答える 1

2

あなたの質問は単純化することができます:

どのエンコーディングを使用する必要がありますか?

答えは:それは異なります。

  • バイナリデータしかない場合は、バイナリが最適です。
  • ほとんどの場合、ASCII文字といくつかの例外(ウムラウトなど)がある場合は、utf-8が最適なエンコードです(2バイト以上でエンコードされた文字\x00\x7f1バイトのASCII)。
  • 多くのCJKがある場合は、Unicodeまたはその他のエンコーディングを使用する方がおそらく良いでしょう(2バイト対1文字あたり3バイト)

そしてその通りです。リストとdictの(逆)シリアル化は、他の多くの言語よりもTclではるかに簡単です。文字列として保存します。

于 2013-03-20T11:23:10.403 に答える