专栏首页运维笔记linux 文件编码格式转换

linux 文件编码格式转换

1. 问题描述–(linux 下经常遇到的编码问题)


师兄在 windows 下写的一段程序 (C/C++ 编写), 传给我在 Linux 下面运行, 编译和运行的时候输出的时候中文乱码了

2. 原因解析


如果你需要在 Linux 中操作 windows 下的文件, 那么你可能会经常遇到文件编码转换的问题.

Windows 中默认的文件格式是 cp936(通常被视为等同 GBK), 而 Linux 一般都是 UTF-8

3. 背景知识 (什么是编码?)


关于编码的定义,我们可以查看百度全科

还可以参考:http://www.cnblogs.com/cocowool/archive/2009/04/25/1443529.html

3 linux 下查看编码的方法


  • 方法一:file filename
file cp936.c
  • 方法二:在 Vim 中可以直接查看文件编码
:set fileencoding

即可显示文件编码格式

如果你只是想查看其它编码格式的文件或者想解决用 Vim 查看文件乱码的问题,那么你可以在

~/.vimrc 文件中添加以下内容:

set encoding=utf-8
fileencodings=ucs-bom,utf-8,cp936

  这样,就可以让 vim 自动识别文件编码(可以自动识别 UTF-8 或者 GBK 编码的文件),其实就是依照 fileencodings 提供的编码列表尝试,如果没有找到合适的编码,就用 latin-1(ASCII)编码打开。

4. 文件编码转换


  • 跨平台方法:

工具

描述

使用

iconv

提供标准的程序和 API 来进行编码转换

iconv -f 原编码 -t 转换后的编码 inputfile -o outputfile

convert_encoding.py

基于 Python 的文本文件转换工具

decodeh.py

提供算法和模块来谈测字符的编码

  • Linux:

工具

描述

使用

vim

使用 vim 直接进行文件的编码转换

:set fileencoding=utf-8

recode

转换文件编码

Utrac

转换文件编码

cstocs

转换文件编码

convmv

转换文件名编码

enca

分析给定文件的编码

  • Windows:

工具

描述

cscvt

字符集转换工具

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • OpenLDAP使用BDB时的一些配置和维护方法

    一、 配置部份 在基本配置完成之后,可以在slapd.conf设置一些提高安全和效率的选项   cachesize 5000   checkpoint 1...

    明哥的运维笔记
  • 通过脚本一键安装openV**

    安装完成之后,再次执行openvpn-install.sh,可以实现对openvpn账号的管理以及卸载 该操作是交互式操作

    明哥的运维笔记
  • 加快ssh连接速度

    明哥的运维笔记
  • base16,base32,base64 编码方式的通俗讲解

    base16,base32,base64 都是编码方式,对应有各自的一套编码算法。

    林冠宏-指尖下的幽灵
  • Python学习(3):理解计算机中编码三、认识常见的计算机编码

    梧雨北辰
  • QR 编码模式分析(一)

    一个 QR 二维码其实是一串文本信息的编码。QR 二维码的标准支持以下四种编码模式:数字编码、字符编码、字节编码和日文编码。每种模式都将文本编码为一串由 0 和...

    TTTEED
  • ERP系统物料编码十大原则

    物料编码对于制造类企业供应链管理作用不可说不巨大,影响不可谓不深远,甚至是任何一个ERP系统优化不得考虑的关键环节!然而,影响编码原则的因素有很多,但归根结底就...

    SAP斯凯普斯 Qasim
  • 《5》python字符串和编码

    「5」python字符串和编码 ? 字符编码 最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大...

    企鹅号小编
  • NAB 2019见闻:CAE视频编码与QoE

    https://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=131182

    LiveVideoStack
  • 视频编码原理

    原因很简单,不经过编码的源视频数据量太大了。例如输出一路1920×1080分辨率、24位色、每秒30帧的高清视频,就这么一秒钟的视频,它的码率达就到了1.5Gb...

    用户3504492

扫码关注云+社区

领取腾讯云代金券