跨平臺文件編碼和換行問題的解決辦法

来源:https://www.cnblogs.com/JiuHuan/archive/2018/12/05/10074189.html
-Advertisement-
Play Games

使用windows編輯,會有回車問題和編碼問題。換行問題: Win 換行 \r\n Linux 換行 \n Mac 換行 \r 。很多工具在這方面不相容,比如Shell。編碼問題: Linux 預設使用utf-8 (without BOM),Win 預設GBK。 linux下直接打開win文檔會中文 ...


 

使用windows編輯,會有回車問題和編碼問題。
換行問題: Win 換行 \r\n Linux 換行 \n Mac 換行 \r 。很多工具在這方面不相容,比如Shell。
編碼問題: Linux 預設使用utf-8 (without BOM),Win 預設GBK。 linux下直接打開win文檔會中文亂碼。
Win打開Linux 亂碼可能性比較小相容做的比較好。

 

下列軟體可以解決編碼問題和回車問題

fromdos      命令解決換行問題。

enca     工具可以查看文件編碼。

enca 、 enconv 、 iconv 可以轉換編碼。

convmv            可以解決 文件名亂碼。

 

命令安裝以及使用方法:

 

apt-get install tofrodos
tofrodos 包含兩個命令 todos  fromdos    處理回車問題。  dos 是 win 前身,字面意思理解即可。
todos *.c
fromdos *.h
該軟體不提供文件夾遞歸操作 。 此命令可以完成:   find -name "*.sh" | xargs -0 fromdos

 

apt-get install enca
enca  命令可能會遇到語言識別問題,可以添加 -L zh_CN (中文編碼)解決。


enca -L zh_CN -x UTF-8 test.txt                   // -L 語言 -x 目標編碼
enca -L zh_CN -x UTF-8 <oldname.txt> newname.txt // -L 語言 -x 目標編碼 不刪除oldfile
enconv -L zh_CN -x UTF-8 test.txt              // -L 語言 -x 目標編碼
enconv -L zh_CN -x GB2312 test.txt          // -L 語言 -x 目標編碼

iconv -f UTF-8 -t GBK file1 -o file2                // -f 原本編碼 -t 目標編碼

 

apt-get install convmv
convmv  -f  GBK -t  UTF-8  *.mp3          //   -f 原本編碼   -t 目標編碼   -r 目錄下所有文件

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、下載Windows版本Redis 下載鏈接:https://github.com/MSOpenTech/redis/releases(根據系統選擇對應版本) 二、修改預設的配置文件 如上圖兩個配置文件,redis.windows.conf(應用程式配置文件);redis.windows-serv ...
  • 文本框增加驗證選項卡 列表複雜查詢,支持文本框,時間,下拉(如:客戶總表) ...
  • 獲取日期枚舉,可以根據switch去進行操作 ...
  • npoi完整代碼:NET npoi幫助類 ...
  • 本文純乾貨,直接拿走使用,不用付費。在業務開發中,手機號碼驗證是我們常常需要面對的問題,目前市場上各種各樣的手機號碼驗證方式,比如正則表達式等等,本文結合實際業務場景,在業務級別對手機號碼進行嚴格驗證;同時增加可配置方式,方便業務擴展,代碼非常簡單,擴展非常靈活。 ...
  • 1、變數的基本概念 變數是指用來存儲特定類型的數據,可以根據需要隨時改變變數中所存儲的數據值。變數具有名稱、類型和值,因此使用變數之前必須先聲明變數,即指定變數的類型和名稱。 2、變數類型 變數類型根據其定義可以分為兩種:一種是值類型,另一種是引用類型。這兩種變數類型的區別在於數據的存儲方式,值類型 ...
  • 我們知道 應用程式的核心配置在項目中的 " " 文件. 方法主要用於將服務添加到 容器中並做一些配置. 配置請求管道. 框架使用自己的DI容器\(主要為了相容之前的NET Framework版本和使用一些高級特性,如攔截器\),所以我們在 方法的底部會看到 這時候 的方法返回值也變成了 \(關於這點 ...
  • 問題:在新買的阿裡雲伺服器ECS上安裝nginx後打開預設頁面失敗,如下圖所示。 系統環境:Ubuntu 16.04.4 LTS64版本。 步驟回顧: 解決: 阿裡雲控制台沒有相關的安全組記錄,需添加配置。步驟如下: 1.登錄阿裡雲管理控制台,在實例後面的更多里選擇網路和安全組裡的安全組配置 2.新 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...