前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux 文件编码格式转换

linux 文件编码格式转换

作者头像
明哥的运维笔记
发布2019-01-30 10:24:28
6.9K0
发布2019-01-30 10:24:28
举报
文章被收录于专栏:运维笔记运维笔记

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
代码语言:javascript
复制
file cp936.c
  • 方法二:在 Vim 中可以直接查看文件编码
代码语言:javascript
复制
:set fileencoding

即可显示文件编码格式

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

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

代码语言:javascript
复制
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

字符集转换工具

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-01-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 问题描述–(linux 下经常遇到的编码问题)
  • 2. 原因解析
  • 3. 背景知识 (什么是编码?)
  • 3 linux 下查看编码的方法
  • 4. 文件编码转换
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档