![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-15 09:08 |
共 47,813 主题排行 / 349,902 发帖 / 今日 0 篇 / 48,257 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » 何为转义,转义是一个怎样的过程 |
| 可打印版本 2,338 / 7 |
| 第1楼 komafd2 | 发表于 2008-02-29 23:01 |
| 初级用户 发帖 20 积分 53 | |
|
何为转义,转义是一个怎样的过程 转义字符不仅仅将与其相关的特定字符串转义并替换为特定字符串,而且自身也会被“脱逸”。而且类似于C语言中的转义字符"\",双%会转义并脱逸为单%,四%则脱为双%。
这里的转义不太理解, 还有转义字符有那些 ^这个取消字符转义的符号,也是转义字符吗? 请前辈赐教 |
|
| 第2楼 Climbing | 发表于 2008-03-01 15:29 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
我的理解:所谓的转义字符,就是将一个本来具有特殊意义的字符的特殊意义去掉,而以它本身的面貌呈现。
例如,在cmd命令行中,“| > <”这些符号表示管道操作,但现在我想通过echo显示一个管道符号给用户,例如我照下面这样写: echo 2>1 is true. 由于这里的>号默认是作为管道操作符出现的,直接在cmd下执行这个命令会显示如下:
很显然,这不是我们需要的结果,我们需要将>号默认的管道操作这个特殊意义去掉,那么我们用如下的命令就可以了:
|
|
| 第3楼 qzwqzw | 发表于 2008-03-01 17:00 |
| 银牌会员 发帖 636 积分 2,343 | |
|
楼上的理解有问题
转义,顾名思义 就是将其它的字符转换意义(通常是其后紧跟的字符或字符串) 这有些类似于C语言或正则表达式中的字符"\" 在命令行下 ^是转义字符,就是将管道和重定向之类的字符的功能符号转换为可显示符号 %是转义字符,就是将后面的字符的显示特性转换为变量标识 "是转义字符,就是将其间的字符的功能符号转换为可显示符号 转义字符的英文是Escape Character 有时候也翻译为逃逸字符 除了是对Escape的直译之外 还因为它转换其它字符的意义后 自己也逃逸不见了 当然起初的理由来源于ANSI组织的一个输入输出标准 DOS下的驱动程序ANSI.SYS就是这个标准的简单实现 ANSI.SYS 定义了一系列特殊标记 用来改变显示图形、控制光标移动和键的重定义 ANSI.SYS 设备驱动程序支持转义序列的 ANSI 终端仿真 以便控制系统的屏幕和键盘 这些特殊标记均由字符Esc(ASCII码为十六进制的1B)和字符[起始 而Esc就是Escape的缩写 所以这些特殊标记被称为“Escape sequence” 而这个起始的特殊字符就被称为“Escape character” 而以后起到类似作用的字符则大多继续沿用了这个称谓 |
|
| 第4楼 komafd2 | 发表于 2008-03-01 18:24 |
| 初级用户 发帖 20 积分 53 | |
|
谢谢俩位前辈赐教 看了俩位前辈的解释
觉得clinbing前辈的 转义字符,就是将一个本来具有特殊意义的字符的特殊意义去掉,而以它本身的面貌呈现。 具体指的是^ ,这一点跟qzwqzw前辈的关于^的解释一样 但是对qzwqzw前辈的话有几点还想在请教 在命令行下 ^是转义字符,就是将管道和重定向之类的字符的功能符号转换为可显示符号 %是转义字符,就是将后面的字符的显示特性转换为变量标识 "是转义字符,就是将其间的字符的功能符号转换为可显示符号 这里的在命令行下,是说在命令行下只有这三个是转义字符吗? 第二,% 是 将后面的字符的显示特性转换为变量标识 , 这里的显示特性就是显示字符 (即打什么字符就显示什么字符,对吗) 转换位变量标识,我可以理解为将字符转变为变量名吗? 还有这一句 这些特殊标记均由字符Esc(ASCII码为十六进制的1B)和字符 Last edited by komafd2 on 2008-3-1 at 06:25 PM ] |
|
| 第5楼 qzwqzw | 发表于 2008-03-01 23:45 |
| 银牌会员 发帖 636 积分 2,343 | |
|
楼上的理解还是片面了
转义字符,脱逸字符,逃逸字符是Escape character的不同译法 实际上是完全一样的 至少在DOS领域内 至于4楼算是问道点子上了 在命令行下的转义字符种类取决于对转义字符的理解 通常情况下 我提到的这三个是大家公认的转义字符 其它的一些是则有争议的 比如FOR变量中~,set中的=等 关于%的理解我没有什么需要补充的 至于Escape sequence(通常译为“转义序列”) 它是转义字符+被转义字符的合称 它的具体内容和含义 你只要查找一下论坛ANSI的资料就清除了 |
|
| 第6楼 Climbing | 发表于 2008-03-02 01:00 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
谢谢qzwqzw兄详细的解释,我原来的理解确实有些片面了,受教了。
|
|
| 第7楼 komafd2 | 发表于 2008-03-02 13:27 |
| 初级用户 发帖 20 积分 53 | |
|
谢谢各位强辈的赐教 谢谢各位前辈的耐心赐教,
看了qzwqzw前辈的解释,似乎更加理解了,再次感谢! [ Last edited by komafd2 on 2008-3-2 at 01:29 PM ] |
|
| 第8楼 p308945 | 发表于 2010-06-27 12:23 |
| 初级用户 发帖 11 积分 21 | |
|
好!不过我还是有些疑惑!
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |