Discuss / Java / 48、 105、65281不都是ASCII的编码吗?

48、 105、65281不都是ASCII的编码吗?

Topic source

 48、 105、65281不都是ASCII的编码吗?

YANGZY1202

#2 Created at ... [Delete] [Delete and Lock User]

Unicode兼容ASCII编码

YANGZY1202

#3 Created at ... [Delete] [Delete and Lock User]

补充一下:准确的说是UTF-8兼容ASCII

  • UTF-8是一种针对Unicode的变长字符编码,可表示Unicode标准中的任何字符,并且与ASCII兼容,使得原来针对ASCII的程序或者软件不做或者只做少量的改变即可继续使用。具体来说,UTF-8针对8bit为单位的UCS进行转换,选择边长字节进行存储,其最大长度甚至可以达到六个字节。这样做的最大的好处就是对ASCII的兼容,因为所有ASCII的字符都可以保持原有的字符编码不变。

  • java源文件(.java)和编译后的.class文件,源文件可以采用多种编码格式如utf-8(unix/linux默认) 或者gbk(windows默认),当将源码用javac编译的时候,默认是javac按照系统默认的编码格式读取java源文件, 然后以utf-8的格式输出到.class文件中,换句话说,在默认情况下unix平台,javac用utf-8格式读取java源文件 然后以utf-8格式写.class;在默认情况下,windows平台javac用gbk格式读取java源文件然后以utf-8格式写.class。


  • 1

Reply