基础_回车与换行

chan10 2010-04-12 08:47:24
java里面,Ascii码值,
10和13到底是什么区别啊?

下面是找的资料上截的一段:
10 line feed
13 carriage return
好像,这两个都和换行有关。

自己写了个测试代码:
public class TestChar {

public static void main(String[] args) {
test1();
}

private static void test1() {
byte[] b2 = {13};
String s2 = new String(b2);
System.out.print("1-"+s2);
byte[] b3 = {10};
String s3 = new String(b3);
System.out.print("2-"+s3);
System.out.print(3);
}
}

测试结果:
1-
2-
3
==================================
1.初步认为,10和13,new出的String都是换行啊。

再加一段代码
String str = "\n";
byte[] b = str.getBytes();
for(int i = 0; i < b.length;i++){
System.out.print(b[i]);
}

发现,输出的值也是【10】。
难道,\10就是\n的意思?

2.记着,以前看到某篇csdn的贴上说,换行符(还是回车符,忘掉了)包含两个字节,具体什么的倒忘掉了。
或者说,\n 不是我们键盘上的回车符?

还有谁能帮忙回答下啊。


...全文
92 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chan10 2010-04-12
  • 打赏
  • 举报
回复
cmd 运行,
结果是
1- 2-
3
貌似1-和2 之间,有个空格。
难道就是右移的效果?
cwjieNo1 2010-04-12
  • 打赏
  • 举报
回复
貌视以前看很早的外国电影,打字的时候都是打了一行,如果要换行,就把一个东东往左推到顶,然后再开始打·
lxh1962 2010-04-12
  • 打赏
  • 举报
回复
一楼的回复太精典了
hjjk123 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bao110908 的回复:]
Windows 平台的换行符为 CR LF,即 \r\n,也就是 ASCII 码为 13 和 10 的两个字符。

CR LF 来源于英文打字机,可以想一下,使用英文打字机的过程中,如果到行末了,要换到下一行该怎么做?我们需要把小车往左边推,然后压动扳手滑动齿轮使小车下移一行。推小车的过程称为“回车”,而使用小车下移一行称为“换行”,这也就是 CR LF 的来历。

由于历史遗留问题,目前……
[/Quote]

顶...........
chan10 2010-04-12
  • 打赏
  • 举报
回复
哦 确实啊。
看来集成环境确实有点害人啊。
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 chan10 的回复:]
那为什么第一步的测试。
10和13,new出的String都是换行啊?
[/Quote]

你是在 eclipse 中运行的吧?

你试着在控制台中运行看看,或者将输出重定向到 a.txt 中,用记事本打开。

D:\>java TestChar >> a.txt

这样可以将输出重定向到 a.txt 文件中。


[Quote=引用 3 楼 chan10 的回复:]
还有小车 往左推,不理解?
[/Quote]

哈哈,说错了,是将小车往右推,使用小车位于最左边,哈哈 XD
chan10 2010-04-12
  • 打赏
  • 举报
回复
那为什么第一步的测试。
10和13,new出的String都是换行啊?
还有小车 往左推,不理解?
hui135 2010-04-12
  • 打赏
  • 举报
回复
楼上说的很详细啊。
  • 打赏
  • 举报
回复
Windows 平台的换行符为 CR LF,即 \r\n,也就是 ASCII 码为 13 和 10 的两个字符。

CR LF 来源于英文打字机,可以想一下,使用英文打字机的过程中,如果到行末了,要换到下一行该怎么做?我们需要把小车往左边推,然后压动扳手滑动齿轮使小车下移一行。推小车的过程称为“回车”,而使用小车下移一行称为“换行”,这也就是 CR LF 的来历。

由于历史遗留问题,目前有三种不同的换行形式:

1:Windows 的 \r\n
2:Uinx/Linux 的 \n
3: Mac 的 \r

也就是说在 Windows 平台上敲个 Enter 键,会产生 \r\n 两个字符。

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧