请问大侠们:   说java使用的是unicode编码,但是又说是Ascii编码,unicode编码是16位,而Ascii是8位,那java到底采用的是什么编码啊?   unicode和Ascii编码在分别表示中文和数字或者字母或者符号的时候又是几位呢???很困惑啊。
还有救市操作系统的什么什么编码又和java的编码有什么关系?????还有个问题就是java中说只要是反斜杠,2个才表示1个,可是‘\n'  这个转义字符又是一个反斜杠,不用写2个,有的东西都让我很困惑啊,希望大家帮帮忙了

解决方案 »

  1.   

    java采用的是unicode编码,所以在开发的时候使用汉字也是能够通过的!
      

  2.   

    Unicode编码的范围是0~65535,ASCII码的范围是0~255.ASCII是早期的一种编码,只能编码256个字符。显然ASCII不包含汉字。Unicode的前256个编码与ASCII码相同。数字字符和英文字符就在其中。我们常用的半角字符也在其中。比如程序语言中用来表示语法的所有的字符。
    java不用ASCII码。操作系统使用的编码和java没有关系。转义字符全用'\'字符做为开始。比如'\n'表示换行符等。所以你不能在字符串中用一个\表示\了,编译器只要在字符串中看到第一个'\',就要把'\'和'\'后面的东西合起来解释和一个转义字符。为了表示一个真正的'\',只能用'\\'来表示了。
      

  3.   

    任何编码,到了java里面,也就是在java里运行时,都是unicode的。但是一旦涉及到IO,比如读取文件,写入数据库等,那么就要根据需要,转换到需要的编码类型了。
    这也是乱码产生的原因。如果文件是UTF-8编码的,却用GBK编码来读取,那读到java里面也是乱编码了
      

  4.   

    编码问题是个很好的问题。建议你了解一下各种编码格式是如何表示信息的,例如:GBK, BIG, GB2312, ASCI, UTF-8, UTF-16
      

  5.   

    简单地说
    unicode包含了ascii
      

  6.   

    第二个问题,假设你要打印的是 / 和 n 呢,直接/n的话会被转成换行啦,这时候用//n就能输出 / 和 n 
      

  7.   

    关于Unicode标准方面的一个技术介绍中文翻译:http://www.zihou.me/2009/11/25/657