編程時遇到代碼在不同電腦上中文顯示有的正常,有的是亂碼的情況的問題原因

編程時遇到代碼在在不同電腦上中文顯示有的正常,有的是亂碼的情況

關於這個問題,首先要明確一點,每個文本文件都有自己的編碼格式,每臺電腦在編輯文字的時候就採用了自己的默認編碼格式把數據寫入到文件中。而不同電腦或者不同編輯器默認的編碼格式不同會造成同樣的文字內容寫入到文件的二進制內容是不一樣的。

比如下面的示例,test1.txt和test2.txt內文本內容同樣是“這是測數據”,但是test1.txt的文件大小是12字節,而text2.txt的文件大小是21字節

這是由於test1.txt是以ANSI格式編碼編寫的,而test2.txt是以utf-8格式編碼編寫的。在簡體中文Windows操作系統中,ANSI 編碼代表 GBK 編碼。

這就相當於“每個文件的編碼格式是保存在文件內的”。

因此在跨平臺編程中,有時會發生在windows電腦上編寫好代碼後,將代碼移動到mac電腦上時,代碼打開後中文變成亂碼了,這就是由於windows電腦上的編輯器大多使用ANSI編碼(在簡體中文Windows操作系統中,ANSI 編碼代表 GBK 編碼),而mac上的編輯器大多使用utf-8編碼。因此想要顯示正確的中文需要將文件進行轉碼。

爲了避免上面的問題,在跨平臺編程或者多人合作編程時最好統一各個電腦上默認編輯代碼工具的編碼格式。

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