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