黑马程序员技术交流社区

标题: c#转义字符、javascript转义字符 [打印本页]

作者: 蔡嘉    时间: 2012-9-21 10:20
标题: c#转义字符、javascript转义字符
\n,\r 在c#和javascript中都分别表示换行和回车,\n和\r有什么区别吗?什么时候用\n,什么时候用\r呢?
作者: 杨进    时间: 2012-9-21 10:32
本帖最后由 杨进 于 2012-9-21 10:50 编辑

c#中
\r表示回车,即光标回车到当前行首,之后再输入内容就会把这一行以前的输出覆盖掉
\n表示换行,是回车+换行:把光标先移到行首,然后换到下一行,也就是下一行的行首
作者: 孔德智    时间: 2012-9-21 10:40
windows下回车换行符连用,\r\n
unix下只用 \n
mac下只用 \r
用Environment.NewLine代替回车换行符,可以不必考虑系统的差异
作者: 霍永刚    时间: 2012-9-21 10:47
javascript   提供了一些特殊字符,允许在字符串中包括一些无法直接键入的字符。每个字符都以反斜杠开始。反斜杠是一个转义字符,表示 javascript 解释器下面的字符为特殊字符。
转义序列   字符   
\b   退格   
\f   走纸换页   
\n   换行   
\r   回车   
\t   横向跳格   (Ctrl-I)   
\ '   单引号   
\ "   双引号   
\\   反斜杠   
作者: 蔡嘉    时间: 2012-9-21 13:10
c#中
\r表示回车,即光标回车到当前行首,之后再输入内容就会把这一行以前的输出覆盖掉
\n表示换行,是回车+换行:把光标先移到行首,然后换到下一行,也就是下一行的行首

嗯,还是有区别的。感谢!
作者: 狄琛林    时间: 2012-9-21 17:52
C#转义字符:

·一种特殊的字符常量;
·以反斜线"\"开头,后跟一个或几个字符。
·具有特定的含义,不同于字符原有的意义,故称“转义”字符。
·主要用来表示那些用一般字符不便于表示的控制代码。
·它的作用是消除紧随其后的字符的原有含义
·用一些普通字符的组合来代替一些特殊字符,由于其组合改变了原来字符表示的含义,因此称为“转义”
·用可以看见的字符表示那不可以看见的字符, 如'\n'表示换行


常用的转义字符及其含义:
\’ 单引号
\” 双引号
\\ 反斜杠
\0 空
\a 警告(产生峰鸣)
\b 退格
\f 换页
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符



c#里 @ 表示的是:
在C#中,"c:\\temp"表示路径是c:\temp; 而@"c:\temp"就表示c:\temp;

所以,@的作用就应该是忽略转义字符的作用.


javascript 转义字符 换行
您可以在文本字符串内部使用反斜杠对代码进行折行。下面的例子是正确的:

document.write("Hello \ World!")但是不能像这样折行:

document.write \ ("Hello World!")  插入特殊字符
反斜杠用来在文本字符串中插入省略号、换行符、引号和其他特殊字符。

请看下面的 JavaScript 代码:

var txt="We are the so-called "Vikings" from the north." document.write(txt)

在 JavaScript 中,字符串使用单引号或者双引号来起始或者结束。这意味着上面的字符串将被截为:We are the so-called。

要解决这个问题,就必须把在 "Viking" 中的引号前面加上反斜杠 (\)。这样就可以把每个双引号转换为字面上的字符串。

var txt="We are the so-called \"Vikings\" from the north." document.write(txt)

现在 JavaScript 就可以输出正确的文本字符串了:We are the so-called "Vikings" from the north。

这是另一个例子:

document.write ("You \& me are singing!")

上面的例子会产生以下输出:

You & me are singing!

下面的表格列出了其余的特殊字符,这些特殊字符都可以使用反斜杠来添加到文本字符串中:

代码
输出

\'
单引号

\"
双引号

\&
和号

\\
反斜杠

\n
换行符

\r
回车符

\t
制表符

\b
退格符

\f
换页符



作者: xwh    时间: 2012-9-21 19:35
\n 是换行,\r是回车,是不同的
#include <stdio.h>
int main()
{
        int i;
        for (i = 0; i < 100000; i++)
        {
                printf("%d\r", i);
        }
        return 0;
}
这样,新打印出来的 i 是会覆盖了前面的,而如果用 \n 就是换行打印,不会覆盖前面的
如果在文件里面,\r\n 才是文件里面的换行
键盘的回车其实也是回车+换行,也就是\r\n




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2