My .NET实用程序AjGenesis是一个代码生成工具。编译后的二进制文件在Ubuntu 10.x和Mono下运行时没有出现故障。但我有一个问题:生成一个java文本文件(我的工具的普通文本文件),它会在每个文件的开始处生成字节顺序标记。我使用的是System.Text.Encoding.Default:在Windows中,在Ubuntu中,一切正常,字节顺序标记都是三个字节,表示UTF8,我猜。字节顺序标记在Ubuntu中使用Mono生成文件
这种差异是一个问题,当我想使用ant或javac编译生成的.java文件时,BOMs会生成错误。然后:
- 在Ubuntu/Mono中使用什么编码,以便生成的文件可以由javac处理?
- 我试过javac -encoding UTF8没有成功,任何线索?我的猜测是:这不是为了跳过材料清单。
- 我试过System.Text.Encoding.ASCII。但我生成的文件有非ASCII文件(西班牙语重音字母)。如果我更改编码,则添加BOM,并且javac拒绝这些文件。任何建议?
TIA
对不起。现在是工作,谢谢! javac失败,因为编译器将额外字节拒绝为源代码中的无效字节。它将它们看作是一个额外的字符。 – ajlopez 2010-12-27 19:53:14