您好,登錄后才能下訂單哦!
問題:
在Windows下用matlab寫的代碼(.m)文件復制到Linux(Ubuntu)下,注釋的中文全是亂碼,反之,也是一樣的問題。
原因:
Windows下默認使用的是GB2312
編碼,Linux默認使用的是UTF-8
。 所以在Windows下產生的代碼是GB2312編碼,在Linux下當然識別為亂碼 ; 反之,同理亂碼 。
解決方法:
直接對文件編碼格式進行轉碼。
使用linux下的iconv
命令改變文件的編碼:
test1.m由GB2312轉換成UTF-8(windows下matlab的代碼在linux下運行)
iconv -f GB2312 -t UTF-8 test1.m -o test1.m
test2.m由UTF-8轉換成GB2312(linux下matlab的代碼在windows下運行)
iconv -f UTF-8 -t GB2312 test2.m -o test2.m
如果文件過多,要進行批處理,可用如下編寫的shell腳本批量轉換編碼。
使用方法: 將該腳本放在需要進行轉換的文件夾中, 執行腳本,可以將當前目錄和其子目錄下的所有文件轉換成指定的編碼方法 。
執行如下:
由GB2312轉換成UTF-8
./convertMatlab.sh win
由UTF-8轉換成GB2312
./convertMatlab.sh linux
提示: 普通用戶沒有執行權限,需要用chmod +x convertMatlab.sh
增加執行權限
擴展:
1.Linux操作系統
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基于POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。
它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。
2.Windows操作系統
Microsoft Windows操作系統是美國微軟公司研發的一套操作系統,它問世于1985年,起初僅僅是Microsoft-DOS模擬環境,
后續的系統版本由于微軟不斷的更新升級,不但易用,也慢慢的成為家家戶戶人們最喜愛的操作系統。
3.二者的區別
(1).使用的費用不同
Linux是一項開源的項目,所以它免費提供給編程愛好者使用,
而Windows則是需要購買的一款系統,目前最新的正版Windows系統售價888元。
(2).適合使用對象不同
Linux適合企業公司服務器系統架構,而Windows適合大眾使用。
(3).操作風格不同
Windows是面向大眾化的,所以操作上比較符合普通人的操作習慣,大多都是通過界面化的操作。
而Linux在很多情況下需要通過命令行來進行操作。
(4).支持的軟件不同
Windows由于使用人數較多,所以支持Windows的軟件在數量和質量上都比Linux有優勢。
Linux平臺只有開發者維護,缺少資金的大量支持,所以軟件方面的數量和質量比較缺乏。
(5).文件格式不同
Windows 操作系統內核是NT,而Linux 是 shell。
(6).安全性不同
Windows系統常常成為黑客和病毒的攻擊目標,所以需要安裝一些安全防護軟件來保護計算機的安全。
而Linux相比較Windows來說則安全很多,使用Linux是完全不需要安裝額外的安全軟件。
(7).可定制性不同
Windows的操作范圍大多已經受到微軟的限制,所以基本上是系統怎樣設置,用戶就只能規矩操作。
而Linux提供了更高的定制性,它支持開發者通過編碼來定義適合自己的操作系統。
(8).程序可移植性不同
Windows的程序可移植性差,程序基本不兼容Linux.
而Linux程序的可移植性好,不僅可以在不同的Linux之間移植,還可以移植到Windows上面來。
以上就是linux中運行windows中編寫的文件出現亂碼的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。