我编写了一个Tclsh
代码,该代码将通过xml-rpc方法以base64格式获取zip文件内容。我正在使用以下代码片段将该base64数据转储到文件中:
#!/usr/bin/tclsh
...
set mybase64Dump [myXmlRpcCallToReturnThisDump]
set zipFilePtr [open "xyz.zip" "w"]
puts $zipFilePtr $mybase64Dump
close $zipFilePte
Zip文件XKbytes
的大小已生成,但是尝试使用Zip文件打开时7zip
,显示Is not Archive
。但是我将相同的base64转储粘贴到了在线转换器中。它给了我一个适当的可解压缩的zip文件。
我做错了什么吗?
您可能需要将输出文件配置为二进制文件,而不是ascii文件。新打开的文件的默认翻译是“自动”,它对行尾字符进行系统特定的翻译,这不是您想要的.zip文件。将其打开后在句柄上使用fconfigure进行配置,或通过将BINARY访问标志添加到open命令来对其进行配置。
有关语法的详细信息,请参见http://www.tcl.tk/man/tcl8.5/TclCmd/open.htm和http://www.tcl.tk/man/tcl8.5/TclCmd/fconfigure.htm。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句