如何编译编码为“ UTF-8”的Java源文件?

我保存了Java源文件,将其编码类型指定为UTF-8(使用记事本,默认情况下,记事本的编码类型为ANSI),然后尝试使用以下命令对其进行编译:

javac -encoding "UTF-8" One.java

但它给出了错误信息”

One.java:1: illegal character: \65279

?public class One {

^

1 error

还有什么其他方法可以编译吗?

来源如下:

public class One {

public static void main( String[] args ){

System.out.println("HI");

}

}

回答:

您的文件

读为UTF-8,否则有值“65279”字符就绝不可能出现。javac期待你的源代码是在平台默认的编码,根据该javac文件:

如果未指定 ,则使用平台默认转换器。

十进制65279是十六进制FEFF,这是Unicode字节顺序标记(BOM)。在UTF-8中是不必要的,因为UTF-8始终被编码为八位字节流,并且没有字节顺序问题。

记事本即使不需要它们,也喜欢粘贴BOM,但是某些程序不喜欢找到它们。正如其他人指出的那样,记事本不是一个很好的文本编辑器。切换到其他文本编辑器几乎可以肯定会解决您的问题。

以上是 如何编译编码为“ UTF-8”的Java源文件? 的全部内容, 来源链接: utcz.com/qa/411626.html

回到顶部