佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > 在Linux系統(tǒng)中修改文本的字符編碼的方法

在Linux系統(tǒng)中修改文本的字符編碼的方法

熱門標(biāo)簽:百度競價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 解決方案 外呼系統(tǒng) 服務(wù)器配置 電話機(jī)器人搭建 家政服務(wù)網(wǎng)絡(luò) 美團(tuán) 硅谷的囚徒呼叫中心

正如我們所知道的那樣,電腦只能夠處理低級(jí)的二進(jìn)制值,并不能直接處理字符。當(dāng)一個(gè)文本文件被存儲(chǔ)時(shí),文件中的每一個(gè)字符都被映射成二進(jìn)制值,實(shí)際存儲(chǔ)在硬盤中的正是這些“二進(jìn)制值”。之后當(dāng)程序打開文本文件時(shí),所有二進(jìn)制值都被讀入并映射回原始的可讀字符。只有當(dāng)所有需要訪問這個(gè)文件的程序都能夠“理解”它的編碼,即二進(jìn)制值到字符的映射時(shí),這個(gè)“保存和打開”的過程才能很好地完成,這也確保了可理解數(shù)據(jù)的往返過程。

如果不同的程序使用不同的編碼來處理同一個(gè)文件,源文件中的特殊字符就無法正常顯示。這里的特殊字符指的是非英文字母的字符,例如帶重音的字符(比如 ?,á,ü)。

然后問題就來了: 1)我們?nèi)绾未_定一個(gè)確定的文本文件使用的是什么字符編碼? 2)我們?nèi)绾伟盐募D(zhuǎn)換成已選擇的字符編碼?
步驟一

為了確定文件的字符編碼,我們使用一個(gè)名為 “file” 的命令行工具。因?yàn)?file 命令是一個(gè)標(biāo)準(zhǔn)的 UNIX 程序,所以我們可以在所有現(xiàn)代的 Linux 發(fā)行版中找到它。

運(yùn)行下面的命令:

   

復(fù)制代碼
代碼如下:
$ file --mime-encoding filename

    

步驟二

下一步是查看你的 Linux 系統(tǒng)所支持的文件編碼種類。為此,我們使用名為 iconv 的工具及 “-l” 選項(xiàng)(L 的小寫)來列出所有當(dāng)前支持的編碼。

   

復(fù)制代碼
代碼如下:
$ iconv -l

iconv 工具是 GNU libc 庫組成部分,因此它在所有 Linux 發(fā)行版中都是開箱即用的。
步驟三

在我們在我們的 Linux 系統(tǒng)所支持的編碼里面選定了目標(biāo)編碼之后,運(yùn)行下面的命令來完成編碼轉(zhuǎn)換:

   

復(fù)制代碼
代碼如下:
$ iconv -f old_encoding -t new_encoding filename

例如,把 iso-8859-1 編碼轉(zhuǎn)換為 utf-8 編碼:

   

復(fù)制代碼
代碼如下:
$ iconv -f iso-8859-1 -t utf-8 input.txt

    

    了解了我們演示的如何使用這些工具之后,你可以像下面這樣修復(fù)一個(gè)受損的字幕文件:
   

標(biāo)簽:韶關(guān) 防城港 南昌 邢臺(tái) 北海 烏蘭察布 撫州 臨沂

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在Linux系統(tǒng)中修改文本的字符編碼的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    沙洋县| 井研县| 隆尧县| 玛纳斯县| 平原县| 阿尔山市| 鸡东县| 扶沟县| 兴海县| 三江| 周口市| 新绛县| 昂仁县| 泾源县| 桂阳县| 手游| 团风县| 肃南| 盘锦市| 大理市| 达孜县| 麦盖提县| 绍兴县| 偃师市| 三亚市| 南宁市| 平远县| 商城县| 永丰县| 通辽市| 鄂尔多斯市| 阿合奇县| 大渡口区| 长寿区| 故城县| 武隆县| 易门县| 固原市| 探索| 哈尔滨市| 黔西县|