2.3.5 源码文本字符集设置

作者: 您好简书 | 来源:发表于2019-09-25 10:22 被阅读0次

用记事本编写代码,在保存时需要将编码设置为“ANSI”,ANSI 的全称是 American

National Standard Institute,亦即“美国国家标准协会”.为使计算机支持更多语言,通常型
用0x80-0xFF范围的两个字节来表示1个字符.比如:汉字“中”在中文操作系统中便用
本公司
不同的国家和地区制定了不同的标准,由此产生了 GB2312,BIGS,JIS等各自的编码标准.这些使用两个字节来代表一个字符的各种汉字延伸编码方式,称为ANSI编码.在简体中文系统下,ANSI编码代表GB2312编码,在日文系统下,ANSI编码代表JIS编码.

UTF-8编码在国外应用普遍,国内网站和博客较多使用简体中文编码GB2312字符集:
港澳台地区网站使用繁体中文网页编码 BIG5 字符集:UTF-8包含了简体和繁体中文字行,
能正确显示多种语言文字.另外国外的用户如果使用 Windows XP英文版,浏览UTF-8编码的任何网页,无论是中文,还是日文、韩文、阿拉伯文,都可以正常显示,UTF-8是世界通用的语言编码,而如果用 Windows XP英文版的IE6.0浏览GB2312语言编码的网页,不能被刚会提示是否安装语言包.因此,可能会失去很多的国外浏览者。

用记事本将相同的内容使用UTF-8格式保存,记事本会在文件头前面加上几个不可见的字符(EF BB BF),就是所谓的BOM(Byte Order Mark).程序读取时会从文件中多读出一个不可见字符(这个问题在 JDK1.6中仍然未得到解决),因为Java在读文件时没能正确处理
UTF-8文件的BOM编码,将前3个字节当作文本内容来处理了,所以编译不能通过。如果是通过Java 写的UTF-8文件,使用Java 可以正确地读(在今后学习IDE工具时会介绍如何使用
如果把上例的HelloWorld.java通过记事本直接用UTF-8格式保存,编译的时候会抛出如下错误:

Helloworld.java:l:需要为 class,interface 或 enum
锘编lass Helloworld{
Helloworld.java:2:需要为 class,interface 或 enum
public static void main(String[]args)
Helloworld.java:5:需要为 class,interface 或 enum
3错误

相关文章

网友评论

    本文标题:2.3.5 源码文本字符集设置

    本文链接:https://www.haomeiwen.com/subject/zsuiuctx.html