有没有办法在Tcl字符串中编码空格?

时间:2016-10-11 21:40:56

标签: tcl

有一个第三方软件与Tcl库链接并正在解析给定的tcl脚本。 如果它的命令采用文件名或文件名列表。当文件名/路径中有空格时,它会扼杀...认为它是一个名单列表,即使我用大括号或双引号括起来。

字符串/路径(其中的空格)是否可以以其他Tcl命令仍能正确解释的方式进行编码?

1 个答案:

答案 0 :(得分:2)

以下是Tcl中空格的标准转义序列:

  • action=""” - 反斜杠后跟空格。
  • \ ” - 反斜杠后跟\040八进制代表32。
  • 0” - 反斜杠后跟\x20两位十六进制为32.(仅当后面的字符不是十六进制数字时才适用因为许多Tcl版本中存在错误。)
  • x” - 反斜杠后跟\u0020四位十六进制为32。
  • u” - 反斜杠后跟\U000020六位十六进制为32.(在Tcl 8.6中作为支持更新的迁移路径的一部分引入Unicode字符。)

其中一个可能适用于您的情况。或者,如果你用另一个反斜杠引用反斜杠足够多次;你现在正在有效地“猜测某人的软件有多么糟糕”。 (听起来好像是在某个地方经历了一个不明智的U。也许好几次。在不同的代码路径上可能有不同的数量。如果它是真的那就糟糕 ...