gpt4 book ai didi

java - 如何编译编码为 "UTF-8"的 java 源文件?

转载 作者:IT老高 更新时间:2023-10-28 21:09:27 29 4
gpt4 key购买 nike

我保存了我的 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 根据 the javac documentation 要求您的源代码采用平台默认编码。 :

If -encoding is not specified, the platform default converter is used.

十进制 65279 是十六进制 FEFF,即 Unicode Byte Order Mark (BOM) .这在 UTF-8 中是不必要的,因为 UTF-8 总是被编码为八位字节流并且没有字节序问题。

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

关于java - 如何编译编码为 "UTF-8"的 java 源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1726174/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com