有一个第三方软件与Tcl库链接并正在解析给定的tcl脚本。 如果它的命令采用文件名或文件名列表。当文件名/路径中有空格时,它会扼杀...认为它是一个名单列表,即使我用大括号或双引号括起来。
字符串/路径(其中的空格)是否可以以其他Tcl命令仍能正确解释的方式进行编码?
答案 0 :(得分:2)
以下是Tcl中空格的标准转义序列:
action=""
” - 反斜杠后跟空格。\
” - 反斜杠后跟\040
,八进制代表32。0
” - 反斜杠后跟\x20
,两位十六进制为32.(仅当后面的字符不是十六进制数字时才适用因为许多Tcl版本中存在错误。)x
” - 反斜杠后跟\u0020
,四位十六进制为32。u
” - 反斜杠后跟\U000020
和六位十六进制为32.(在Tcl 8.6中作为支持更新的迁移路径的一部分引入Unicode字符。)其中一个可能适用于您的情况。或者,如果你用另一个反斜杠引用反斜杠足够多次;你现在正在有效地“猜测某人的软件有多么糟糕”。 (听起来好像是在某个地方经历了一个不明智的U
。也许好几次。在不同的代码路径上可能有不同的数量。如果它是真的那就糟糕 ...