PUB:20141022 Linux FAQs with Answers--How to change character encoding of a text file on Linux

@wangjiezhe
This commit is contained in:
wxy 2014-11-14 15:43:33 +08:00
parent 583a235bb4
commit 39315d922a

View File

@ -1,8 +1,8 @@
Linux 有问必答 -- 在 Linux 如何更改文本文件的字符编码
Linux 有问必答在 Linux 如何更改文本文件的字符编码
================================================================================
> **问题**:在我的 Linux 系统中有一个编码为 iso-8859-1 的字幕文件,其中部分字符无法正常显示,我想把文本改为 utf8 编码。在 Linux , 有没有一个好的工具来转换文本文件的字符编码?
> **问题**:在我的 Linux 系统中有一个编码为 iso-8859-1 的字幕文件,其中部分字符无法正常显示,我想把文本改为 utf8 编码。在 Linux , 有没有一个好的工具来转换文本文件的字符编码?
正如我们所知道的那样,电脑只能够处理低级的二进制数字,并不能直接处理字符。当一个文本文件被存储时,文件中的每一个字符都被映射成二进制数字,实际存储在硬盘中的正是这些“二进制数字”。之后当程序打开文本文件时,所有二进制数字都被读入并映射回原始的可读字符。只有当所有需要访问这个文件的程序都能够“理解”它的编码,即二进制数字到字符的映射时,这个“保存和打开”的过程才能很好地完成,这也确保了可理解数据的往返过程。
正如我们所知道的那样,电脑只能够处理低级的二进制,并不能直接处理字符。当一个文本文件被存储时,文件中的每一个字符都被映射成二进制值,实际存储在硬盘中的正是这些“二进制值”。之后当程序打开文本文件时,所有二进制值都被读入并映射回原始的可读字符。只有当所有需要访问这个文件的程序都能够“理解”它的编码,即二进制到字符的映射时,这个“保存和打开”的过程才能很好地完成,这也确保了可理解数据的往返过程。
如果不同的程序使用不同的编码来处理同一个文件,源文件中的特殊字符就无法正常显示。这里的特殊字符指的是非英文字母的字符,例如带重音的字符(比如 ñ,á,ü)。
@ -20,7 +20,7 @@ Linux 有问必答 -- 在 Linux 如何更改文本文件的字符编码
### 步骤二 ###
下一步是查看你的 Linux 系统所支持的文件编码种类。为此,我们使用名为 iconv 工具及 “-l” 选项L 的小写)来列出所有当前支持的编码。
下一步是查看你的 Linux 系统所支持的文件编码种类。为此,我们使用名为 iconv 工具及 “-l” 选项L 的小写)来列出所有当前支持的编码。
$ iconv -l
@ -47,6 +47,6 @@ iconv 工具是 GNU libc 库组成部分,因此它在所有 Linux 发行版中
via: http://ask.xmodulo.com/change-character-encoding-text-file-linux.html
译者:[wangjiezhe](https://github.com/wangjiezhe)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出