Binary TCL:将二进制/逻辑数据写入文件

Binary TCL:将二进制/逻辑数据写入文件,binary,tcl,tk,Binary,Tcl,Tk,我正在尝试将1或0的列表写入tcl文件。我希望最有效的方法是以二进制格式编写,以使用尽可能少的位,特别是因为我预期要处理很多兆字节的数据。我举了以下例子: 但是,当我按照示例读取二进制数据时,我实际上得到了工作“二进制”。发生了什么事 以上示例使用以下语法 [format binary c1 0 1 1] 但应该转换“格式”和“二进制” [binary format c1 0 1 1] 依照 给出所需结果的示例脚本(tcl 8.5可能是其他版本): set fp [open text.b

我正在尝试将1或0的列表写入tcl文件。我希望最有效的方法是以二进制格式编写,以使用尽可能少的位,特别是因为我预期要处理很多兆字节的数据。我举了以下例子:


但是,当我按照示例读取二进制数据时,我实际上得到了工作“二进制”。发生了什么事

以上示例使用以下语法

[format binary c1 0 1 1]
但应该转换“格式”和“二进制”

[binary format c1 0 1 1]
依照

给出所需结果的示例脚本(tcl 8.5可能是其他版本):

set fp [open text.bin w]
set outBinData [binary format ccc 1 0 1 ]
puts "Format done: $outBinData"
puts -nonewline $fp $outBinData
close $fp
set fp [open text.bin r]
set inBinData [read $fp]
close $fp
binary scan $inBinData ccc val1 val2 val3
puts "Scan done: $val1 $val2 $val3"