正如我们所知道的那样,电脑只能够处理低级的二进制值,并不能直接处理字符。当一个文本文件被存储时,文件中的每一个字符都被映射成二进制值,实际存储在硬盘中的正是这些“二进制值”。之后当程序打开文本文件时,所有二进制值都被读入并映射回原始的可读字符。只有当所有需要访问这个文件的程序都能够“理解”它的编码,即二进制值到字符的映射时,这个“保存和打开”的过程才能很好地完成,这也确保了可理解数据的往返过程。

如果不同的程序使用不同的编码来处理同一个文件,源文件中的特殊字符就无法正常显示。这里的特殊字符指的是非英文字母的字符,例如带重音的字符(比如 ?,á,ü)。

然后问题就来了: 1)我们如何确定一个确定的文本文件使用的是什么字符编码? 2)我们如何把文件转换成已选择的字符编码?

步骤一

为了确定文件的字符编码,我们使用一个名为 “file” 的命令行工具。因为 file 命令是一个标准的 UNIX 程序,所以我们可以在所有现代的 Linux 发行版中找到它。

运行下面的命令:

复制代码

代码如下:

$ file --mime-encoding filename

步骤二

下一步是查看你的 Linux 系统所支持的文件编码种类。为此,我们使用名为 iconv 的工具及 “-l” 选项(L 的小写)来列出所有当前支持的编码。

复制代码

代码如下:

$ iconv -l

iconv 工具是 GNU libc 库组成部分,因此它在所有 Linux 发行版中都是开箱即用的。

步骤三

在我们在我们的 Linux 系统所支持的编码里面选定了目标编码之后,运行下面的命令来完成编码转换:

复制代码

代码如下:

$ iconv -f old_encoding -t new_encoding filename

例如,把 iso-8859-1 编码转换为 utf-8 编码:

复制代码

代码如下:

$ iconv -f iso-8859-1 -t utf-8 input.txt

了解了我们演示的如何使用这些工具之后,你可以像下面这样修复一个受损的字幕文件:

linux文件编码无法修改,在Linux系统中修改文本的字符编码的方法相关推荐

  1. wim linux u盘启动项,WinPE迷你系统中通过WimFltr组件挂载WIM镜像方法

    Microsoft Windows Imaging Format (WIM) 映像是MS新型的映像文件,具有高压缩比.挂接方便.挂接内存小等特点.在XP/2K3的winpe中通过挂接WIM作为外置程序 ...

  2. 深度linux怎样设置显卡,在deepin stable系统中配置Intel+Nvidia双显卡的方法

    本文介绍在deepin stable操作系统中配置Intel+Nvidia双显卡的方法,deepin的stable版本目前没有nv-prime的支持,以下配置intel双显卡驱动还是挺简单的,按照步骤 ...

  3. 微型计算机中普片编码,【单选题】微型计算机中普遍使用的字符编码是A. ASCII码B. BCD 码C. 拼音码D. 补码...

    参考答案如下 于挫这属折的范畴,单选里的开了电脑打不资料存在. 丙用两下对乙很砸铁棍头部,题微先给元钱1万付丙,去教训乙要丙,当场致乙死亡,行为甲的属于. 型计的方退出下面错误法是. 算机标度人眼量称 ...

  4. linux系统下定时备份,在Linux系统中简单地实现定时备份的方法 -电脑资料

    运行一个简单的脚本 假设你有一个脚本叫:/usr/local/bin/myscript. ,你想要每隔一小时就运行一次, Service 文件 第一步,创建一个service文件,根据你Linux的发 ...

  5. linux 图标显示 异常,在Ubuntu 18.04系统中VSCode图标显示异常的解决方法

    以下介绍在Ubuntu 18.04系统中VSCode图标显示异常的解决方法,同时附上在Ubuntu 18.04系统中安装Anaconda3-5.3.0方法.VSCode是一款全平台开发的编辑器,它具有 ...

  6. 虚拟机linux gedit,Linux系统中把gedit改造成TextMate的方法

    TextMate是一款轻量级的文本编辑器软件,它具有出色的界面和强大的功能,能够提升开发者的编码效率.这款软件也开放源代码了,但是只能在Mac OS X上使用,因此小编下面给大家介绍一个方法,能够把g ...

  7. linux 终端交换caps,linux系统中ctrl和capslock键互换的方法

    今天这篇教程我们来为大家介绍一下,linux系统中ctrl和capslock键互换的方法,有兴趣的朋友就来参考一下吧. 1.首先,点击任务栏上的"启动器". 2.在"启动 ...

  8. 如何在Windows10系统中修改.jar文件的默认应用

    普通方式(无效) 通常,我们在Windows10系统中修改文件的默认应用有两种方式: 打开系统设置->应用->默认应用->按文件类型指定默认应用,找到相应的文件类型后进行修改: 选中 ...

  9. MySQL在windows系统中修改datadir路径后无法启动问题,报错1067

    windows server2008下如何更改MySQL数据库的目录的帖子已经很多了,这里简单介绍一个步骤,如果不成功请先查看其它帖子. 更改默认的mysql数据库目录将 C:\Documents a ...

  10. 如何修改字体在系统中显示的名称

    用ps字体名称显示的是一个网址 如何修改字体在系统中显示的名称_Kavfans_百度空间 http://hi.baidu.com/erdvhnqunybkrvd/item/1907af306d6d5d ...

最新文章

  1. 17家中国域名解析商(国际域名)解析量报告(6月15日)
  2. linux 多线程 多进程同步
  3. signature=ec663bb1ca3cfa2e278da44aa044d1c6,Fair Exchange of Signatures with Multiple Signers
  4. Linux下文件的压缩和解压
  5. C++11 并发指南三(Lock 详解)
  6. 32位系统安装oracle11g,windows系统下 32位 安装Oracle 11g R2(11.2.0.1.0)图文安装教程
  7. C语言 VS输入输出字符设置
  8. 3月17日 基于特征点的RANSAC最优估计基础矩阵,稀疏光流法综述
  9. BZOJ5218[Lydsy2017省队十连测] 友好城市
  10. 机器学习与数据挖掘 编程实现k均值算法
  11. 中国美女黑客攻击4G网络?详解
  12. 为什么电脑桌面无计算机图标,我的电脑桌面图标都没名字了为什么
  13. 2D转换及相关案例实现
  14. labview自动保存报表_Labview如何快速保存数据到Excel
  15. pythonU盘小偷并发送邮箱
  16. Java学习之【Object】
  17. VC++6.0显示此程序存在兼容问题解决办法
  18. 阿里面试,问了我乐观锁、悲观锁、AQS、sync和Lock,这个回答让我拿了offer
  19. Linux 如何重启网络、禁用网卡
  20. 807.保持城市天际线

热门文章

  1. Lifecycle使用与分析-基础
  2. 揭秘自编码器,一种捕捉数据最重要特征的神经网络(视频+代码)
  3. ExecutorService学习小记
  4. 将 nginx 安装成 windows 的方法
  5. UBUNTU修改控制台语言
  6. 2011.11.2 try
  7. 笔记本电脑如何强制关机_如果你的MacBook一直关机,该怎么办?
  8. Linux之父和Redis之父,Redis之父:10x程序员应该具备哪些素质
  9. Java网络编程之Socket和ServerSocket详解
  10. PostgreSQL11.7逻辑复制的搭建