在Android開發中,因爲開發環境的問題,咱們可能常常在windows、Ubuntu之間切換。各個操做系統下建立的工程源碼在別的OS下打開就會出現亂碼的現象。好比在windows下打開Ubuntu建立的Android工程,就會發現之前的中文註釋就全變成亂碼 了,並且可能還莫名其妙的有些其餘錯誤(本來在Ubuntu裏面是沒有錯誤的,就是由於編碼不一樣,致使亂碼,進而致使誤)。linux
出現這個問題的緣由很簡單,就是由於各個操做系統的編碼方式不同。舉個例子,在windows下的編碼方式默認爲GBK,可是再Linux下的編碼方式就爲UTF-8;另外,windows和linux的換行符也不一樣,在windows下換行符爲「\r\n",linux下的換行符爲"\r",這樣一來咱們就能夠解釋爲何Ubuntu裏面的工程拿到Windows下會出現錯誤了(就是由於換行符不一樣,原本註釋要換行("\r"),可是在Windows底下(「\r\n"),固然就不會換行了,碰到上一行是註釋,下一行是代碼的問題,固然就會報錯了)。windows