ASCII 13 是 回车,10 是 换行。
解决方案 »
- 关于JAVA 泛型 反射的问题
- 删除了注册表里的Javasoft,出现这种情况,怎么办?
- 怎样设置 panel的叠放层次啊...
- 请教关于如何读取文件夹中指定文件的问题
- 如何绕过对爬虫的限制
- 知道如何区分下一个字符读的是中文还是英文?
- 如何恰当地获得已运行时间
- 在看<thinking in java>的时候遇到一个inner class的问题,请各位帮忙解答一下
- 如果微软使.net能够运行在Unix/Linux下,并且降低它的费用,请问大家还会继续使用java么?
- 一个读取文本文件的问题,请各位指教....
- 什么是虚拟机?Java虚拟机与 .NET Framework的比较?
- 这个问题想问很久了
2.13和10是换行和回车啊
你说从控制台输入的字符要占两个byte?,我看未必,
我做了个实验,假设我输入"1a",则buffer 中显示49,49,97,13,10,0,0.....
假设我输入"你好啊",则buffer中显示-60,-29,-70,-61,-80,-95,13,10,0,0,0....可见,如果输入的字符是英文,则buffer 只用了一个byte存储,
如果输入的字符是汉字,则buffer 用了2个byte存储。
照说, 不管是英文字符还是汉字,Java都是用 Unicode编码的呀,都应该占两个byte,即与你想的一致,
可是通过我刚才的那个实验,实际情况并不是这样的呀,这是什么原因呢?
大家多多讨论呀,让我们一起彻底明白 Java的IO 系统呀!
--------------------------------------
我做了个实验,假设我输入"1a",则buffer 中显示49,49,97,13,10,0,0.....
--------------------------------------表示“1a”的字节是49,49,97,13,这里难道不是每个字符占用两个字节吗?字母和汉字占用的空间是一样的。iso-8859-1字符集并不包含中文字符,当然显示不出中文了。构造一个String的时候默认是按照你的操作系统的缺省字符编码进行的,所以一般情况下没必要显式地为一个String指定字符编码。如果你要指定的话,也要指定一个包含了你要输入的字符的字符集编码。
这才是实验的结果,
每个英文字符和中文的占的字节数是不一样的,
英文字符占一个,中文占两个,
不信的话,你可以试试,