你好,感谢阅读我的帖子。
我的问题如下:我想使用“javac”编译一个Java源文件,该文件采用UTF-8编码并带有BOM(操作系统为WinXP)。
以下是我的步骤:
1)使用“记事本”创建一个文件,并选择UTF-8编码。
dos> notepad Test.java
"File -> Save as..."
File name : Test.java
Save as type: All Files
Encoding : UTF-8
Save
2) 在该文件中创建一个Java类,并像1)中那样保存该文件。
public class Test
{
public static void main(String [] args)
{
System.out.println("This is a test.");
}
}
3)可视化文件的十六进制版本(第一行)
dos> xxd Test.java | head -1
0000000: efbb bf70 7562 6c69 6320 636c 6173 7320 ...public class
注意: ef bb bf 是UTF-8编码的BOM (UTF-16编码的BOM为 FE FF)。
4) 尝试使用"javac"编译这段代码。
dos> javac -encoding utf8 Test.java
Test.java:1: illegal character: \65279
?public class Test
^
1 error
注意:65279是BOM的十进制版本。
我的问题如下:如何在以下情况下使编译工作正常:
- 保持UTF-8编码
- 同时保留BOM?
谢谢您的帮助,最好的问候。
Léa
javac
应该会处理它。 - Sled