當我們使用虛擬機下的linux操作系統進行開發或者學習時,很多時候需要從共享內存中拷貝一些主機中的文件。然而對於新手來說往往會忽略一個事實:跨平臺的移植性問題。
工具/原料
VM虛擬機,vi文本
方法/步驟
先將出問題的情景圖發給大家看,首先,我們需要意識到這並不是亂碼問題.
如果需要從表面上修改,只需使用替換命令就能將該字符給取消;
#:%s/^M//g
注:^M字符可由“Ctrl”+“v”+"Enter"三個鍵打開;
具體的鍵值也可以通過查看ASCII表進行校對;
#man ascii
當然對於跨平臺造成的編碼格式問題最根本還是需要對vi文本配置進行註釋,讓它能夠識別的到;
#vim /etc/vim/vimrc
具體方法參考vi相關配置(dos和unix的換行符解決方案);
其實這個都是歷史遺留問題,根本原因就是對換行符的內存組成問題。在unix操作系統下的換行符格式為0A(ascii碼),而dos格式下的換行符為 0D 0A(也就是
關於這個故事,其實unix才是顛覆了傳統將換行符的字符形式給轉變了,然而,dos命令下任然保留著傳統的表達方式;所以以後在進行跨平臺開發的時候,前提就是考慮是否兼容,是否編碼格式兼容這些基本的前提條件,好了就到這吧。
注意事項
兼容性要注意,跨平臺是否能移植,編碼是個細節性問題