安全地将字典保存到文件中

时间:2013-03-20 10:32:03

标签: character-encoding tcl

将字典保存到文件的最佳方法是什么,以便我可以稍后在另一台计算机/系统的Tcl中加载它?

如果有带unicode字符的键/值>我认为fconfigure $stream -translation binary; puts -nonewline $stream $dict无效。 \ u00ff。 “utf-8”编码是否正常(以节省磁盘空间),还是应该始终使用完整的“unicode”?

字典对我来说是新的,但由于它们的文本表示是具有交替键/值的列表,并且列表只是带有一些额外语法字符的字符串,因此问题可能是“安全地保存< em> string to file“?

1 个答案:

答案 0 :(得分:2)

您的问题可以简化:

  

我应该使用什么编码?

答案是:这取决于。

  • 如果您只有二进制数据,那么二进制就可以了。
  • 如果你有大多数ascii字符和一些例外(如变形金刚等),那么utf-8对你来说是最好的编码(\x00以外的字符和\x7f编码为2或更多字节,ascii,1个字节)。
  • 如果你有很多CJK,那么使用unicode或其他一些编码可能更好(2字节对每个字符3个字节)

正确:列表和词典的(反)序列化在Tcl中比在许多其他语言中容易得多:将其保存为字符串。