javac編譯遇到\65279如何解決

今天把同學在windows下用eclipse編輯的java源程序拿到Ubuntu下用javac編譯。編譯時出現\65279非法字符,難道是兩系統的格式編碼問題?立馬用todos轉換回車編碼。再次編譯依然出現這個問題。在網上搜索\65279發現原來在使用utf-8格式來編輯文件時,某些編輯器會在文件保存的時候在前面加入了bom字符.就比如eclipse。那麼何爲bom字符呢?

【引用】UTF-8不需要BOM來表明字節順序,但可以用BOM來表明編碼方式。字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8編碼是EF BB BF。所以如果接收者收到以EF BB BF開頭的字節流,就知道這是UTF-8編碼了。
Windows就是使用BOM來標記文本文件的編碼方式的。
目前已經有很多的新版本軟件已經支持BOM,但仍然有不少軟件還不支持BOM。【/引用】

知道原因那如何解決呢?我們可以用以下方法:

(1)windows下Editplus等文本編輯器是支持bom的。首先用editplus打開這個文件,從Doucument菜單中選擇Permanet Settings,有三個分類,分別是General,File, Tools.點擊File,右邊會有一項是 UTF-8 signature: 選擇 always remove signature. 點擊OK重新保存文件爲不帶BOM的UTF-8格式

 

(2)linux下用vim就可以去除utf-8 BOM

:set nobomb

希望這些東西對大家有用!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章