我想将“asd)asd”这个字符串赋给变量。但每当我这样做时,它都行不通。
我有一个类似的代码与字符串像“asdasd”,并且工作。但每当我介绍')'字符时,它就会停止工作
%this works
%!PS-Adobe-1.0
/units (asdasd) def
/Times-Roman findfont 20 scalefont setfont
300 300 moveto units show
showpage
%this does not
%!PS-Adobe-1.0
/units (asd)asd) def
/Times-Roman findfont 20 scalefont setfont
300 300 moveto units show
showpage
字符)
是PostScript中的一个特殊标记,如果你想在字符串中使用它,有几种方法。首先,您可以使用十六进制字符串:
/units <61736429617364> def
或者,与其他语言一样,您可以在字符串中“转义”特殊标记。您可以在第3版PostScript语言参考手册的第29页中找到此描述。
/units (asd\)asd) def
实际上有一种方法可以将asd)asd
原样放在你的程序中,只要它只是一行(即,它没有新的行字符),你可以在任何{ }
之外进行(即,你可以在proc中使用它:
currentfile 1000 string readline asd)asd
pop
你的字符串从readline之后的一个空格开始,直到该行的结尾。
要定义名称/units
:
/units currentfile 1000 string readline asd)asd
pop def
当然,根据需要调整字符串大小(示例中为1000)。
查找“psrefman.pdf”(PostScript语言参考手册®,第二版),并阅读“第3章:语言”(第28页)中的“字符串”部分。一切都在那里:
在文本字符串中,\(反斜杠)字符被视为“转义”用于各种目的,例如包括不平衡括号,非打印字符和\字符本身。紧跟在\后面的字符决定了它的精确解释。
如果你更喜欢ps3refman.pdf
(PostScript®语言参考,第三版),它可以在第29页,“语言”一章,“语法”一节,“ASCII编码”小节,“字符串”子小节,“文字文本字符串”一节。