如何编译编码为“ 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