在Vim中查看文件编码和文件编码转换
在Vim中查看文件编码和文件编码转换
在Vim中查看文件编码
:set fileencoding
即可显示文件编码格式。
如果你只是想查看其它编码格式的文件或者想解决 用Vim查看文件乱码的问题,那么在~/.vimrc 文件中添加以下内容:set encoding=utf-8 fileencodings=utf-8
这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或 者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适 的编码,就用latin-1(ASCII)编码打开。
以指定的编码打开某文件
如打开windows中以ANSI保存的文件vim file.txt -c "e ++enc=GB18030"
文件编码转换
在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式:set fileencoding=utf-8
查看文件格式:set fileformat?
设置文件格式为 unix:set fileformat=unix
######################
在Vim中查看文件编码和文件编码转换
在Vim中查看文件编码
:set fileencoding
即可显示文件编码格式。
如果你只是想查看其它编码格式的文件或者想解决 用Vim查看文件乱码的问题,那么在~/.vimrc 文件中添加以下内容:set encoding=utf-8 fileencodings=utf-8
这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或 者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适 的编码,就用latin-1(ASCII)编码打开。
以指定的编码打开某文件
如打开windows中以ANSI保存的文件vim file.txt -c "e ++enc=GB18030"
文件编码转换
在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式:set fileencoding=utf-8
查看文件格式:set fileformat?
设置文件格式为 unix:set fileformat=unix
linux 文件编码格式转换
如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换。
查看文件编码
在Linux中查看文件编码可以通过以下几种方式:
1.在Vim中可以直接查看文件编码
:set fileencoding
即可显示文件编码格式。
如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在
~/.vimrc 文件中添加以下内容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。
文件编码转换
1.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
:set fileencoding=utf-8
2. iconv 转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
比如将一个UTF-8 编码的文件转换成GBK编码
iconv -f GBK -t UTF-8 file1 -o file2
Linux对一个3G的文本进行编码转换全过程
本过程中涉及到的Linux的命令有:split, iconv, cat
问题:有一个3G的文本a.txt,编码格式为gbk,现在需要对其进行转换成为utf-8。
难点:iconv的转换是在内存中进行的,因此3G大小的文本,无法进行直接转换。
思路:先利用split进行文件切分,然后对每一个字文件进行ivonv转换,最后进行cat合并。
1) ll -h a.txt 查看文件的大小,2.9G
2) wc -l a.txt 查看文件的行数,9千200万行
3) split -l 20000000 a.txt chunk 按照每个文件2千万行进行切割,共分成5个文件
4) 进行转换
iconv -f gbk -t utf-8 chunka > chunka_utf8 -c
iconv -f gbk -t utf-8 chunkb > chunkb_utf8 -c
iconv -f gbk -t utf-8 chunkc > chunkc_utf8 -c
iconv -f gbk -t utf-8 chunkd > chunkd_utf8 -c
iconv -f gbk -t utf-8 chunke > chunke_utf8 -c
5) rm chunka chunkb chunkc chunkd chunke 删除原文件
6) cat chunk* > a.txt_utf8 进行合并
至此,工作完成
二、
批量文件编码转换
本操作有风险,请注意操作前备份文件。
1.将原来所有编码为gb2312的*.java文件转换为编码为utf-8的*.java.new文件
for i in `find . -name "*.java"`; do iconv -f gb2312 -t utf-8 $i -o $i.new; done
2.将*.java.new文件的.new扩展名去除
find . -name "*.new" | sed 's/\(.*\).new$/mv "&" "\1"/' | sh
三、
linux下有许多方便的小工具来转换编码,
文本内容转换 iconv
文件名转换 convmv
mp3标签转换 python-mutagen
四、
用法: iconv [选项...] [文件...]
转换给定文件的编码。
输入/输出格式规范:
-f, --from-code=名称 原始文本编码
-t, --to-code=名称 输出编码
信息:
-l, --list 列举所有已知的字符集
输出控制:
-c 从输出中忽略无效的字符
-o, --output=FILE 输出文件
-s, --silent 关闭警告
--verbose 打印进度信息
-?, --help 给出该系统求助列表
--usage 给出简要的用法信息
-V, --version 打印程序版本号
五、
find default -type d -exec mkdir -p utf/{} \;
find default -type f -exec iconv -f GBK -t UTF-8 {} -o utf/{} \;
这两行命令将default目录下的文件由GBK编码转换为UTF-8编码,目录结构不变,转码后的文件保存在utf/default目录下。
六、
Linux下文件名编码批量转换convmv
由于FC将字符编码统一成了UTF8,原来在gb18030下建立的ext3分区中的文件和目录,一挂载到FC上就显示成乱码。google遍整个互联网,说对于目录名和文件名,有一个叫convmv的软件可以对其进行自动转换。
今日下载了convmv,摸索了一套使用方法如下:
convmv -f code1 -t code2 -r
code1:分区原来使用的字符集编码。支持gb2312、gbk、big5,不支持gb18030和big5-hkscs。
code2:预转换到的字符集编码。对于FC,这里填写utf8
-r 参数:转换子目录。
dir:要转换的目录,当前目录用./表示。
回车执行,这个时候convmv会显示执行的结果,但不会真正对文件进行修改。并提示使用--replace参数进行修改。
七、
批量转换文件的编码
for i in `find ./ -name *.htm` ; do echo $i;iconv -f gb18030 -t utf8 $i -o /tmp/iconv.tmp;mv /tmp/iconv.tmp $i; done
find -name “*.htm“ \
-exec iconv -f gb2312 -t utf8 ‘{}‘ -o /tmp/iconv.tmp \; \
-exec mv /tmp/iconv.tmp ‘{}‘ \;
在Vim中查看文件编码和文件编码转换的更多相关文章
- VIM中保存编辑的只读文件
如何在VIM中保存编辑的只读文件 你是否会和我一样经常碰到这样的情景:在VIM中编辑了一个系统配置文件,当需要保存时才发现当前的用户对该文件没有写入的权限.如果已 经做了很多修改,放弃保存的确很懊恼, ...
- VIM 中 查看{}是否闭合,按%跳转到下个闭合
VIM 中 查看{}是否闭合,按%跳转到下个闭合
- 在Vim中查看文件编码
:set fileencoding 即可显示文件编码格式. 如果你只是想查看其它编码格式的文件或者想解决 用Vim查看文件乱码的问题,那么在 ~/.vimrc 文件中添加以下内容: set encod ...
- 浏览器中查看HTTP的头部文件
本文以chrome浏览器为例,来讲解下在浏览器中,如何查看http的头部文件. 1.打开chrome浏览器,输入地址,如下图所示. 2.鼠标右击,在右键菜单中选择[检查],如下图所示. 3.选择“Ne ...
- 如何在VIM中保存编辑的只读文件
我们经常碰到这样的情景:在VIM中编辑了一个系统配置文件,当需要保存时才发现当前的用户对该文件没有写入的权限, 这时候怎么办呢? 当需要保存时,输入以下的命令: :w !sudo tee %
- Keil中查看.c和.h文件的路径
方法一: 选择任意一个文件,然后点击右键,选择"Option for File xxx"即可查看该文件的路径. 方法二: 单击任意一个文件,然后点击右键,选择"Open ...
- vim中如何引用自定义模板文件
我们在使用vim新建文件时可以引用自定义模板,来避免重复的数据格式处理花费太多时间. 实现方法很简单,只需要2步即可:1. 在.vim/template目录放入自己的模板文件(如shellconfig ...
- windows,cmd中查看当前目录下的文件及文件夹
需求描述: 在使用cmd的过程中,有的时候需要查看当前目录下有哪些文件或者文件夹,类似linux下的ls命令 操作过程: 1.通过dir命令查看当前目录下有哪些的文件及文件夹 备注:通过dir命令,就 ...
- Confluence 6 在一个空间中查看所有附加的文件
有下面 2 种方法可以让你查看空间的所有附件.你可以: 使用 Space Attachments Macro 来在一个页面中显示列表文件. 进入空间后,然后从边栏的底部选择 空间工具(Space to ...
随机推荐
- 以绝对优势立足:从CDN和云存储来聊聊云生态的崛起
以绝对优势立足:从CDN和云存储来聊聊云生态的崛起 前面几期文章我们介绍了混合云模式,以及面向应用层的云架构解决方案的Spring Cloud.接下来,我们就以蘑菇街的两个具体案例,来分享一下基于混合 ...
- 扩展中国剩余定理(EXCRT)学习笔记
扩展中国剩余定理(EXCRT)学习笔记 用途 求解同余方程组 \(\begin{cases}x\equiv c_{1}\left( mod\ m_{1}\right) \\ x\equiv c_{2} ...
- OxyPlot.SkiaSharp显示中文乱码的问题
oxyplot 图表控件功能强大,使用很广泛.最近考虑到性能使用OxyPlot.SkiaSharp替代OxyPlot.WPF,曲线图表初步测试,性能提升近10倍左右.基于SkiaSharp图形引擎的一 ...
- python工业互联网应用实战11—客户端UI
这个章节我们将演示用户端界面的开发,当前演示界面还是采用先实现基本功能再逐步完善的"敏捷"模式.首先聚焦在功能逻辑方面实现普通用户与系统的交互,普通用户通过url能查看到当前任务的 ...
- 【Azure 微服务】Service Fabric中微服务在升级时,遇见Warning - System.Collections.Generic.KeyNotFoundException 服务无法正常运行
问题描述 使用.Net Framework 4.5.2为架构的Service Fabric微服务应用,在升级后发布到Azure Fabric中,服务无法运行.通过Service Fabric Expl ...
- centos 7升级gcc到10.2.0
安装gcc 由于 Linux 操作系统的自由.开源,在其基础上衍生出了很多不同的 Linux 操作系统,如 CentOS.Ubuntu.Debian 等.这些 Linux 发行版中,大多数都默认装有 ...
- Sql Server Report Service访问服务页面503解决方法
这个问题可能性比较多,也有多个方案去解决,可以从如下方法里逐个测试 1.打最新的数据库补丁. 2.删除报表服务配置的密钥,重启报表服务. 3.修改报表服务器配置的用户账户为域管理员 4.找到报表服务器 ...
- 2021软工-调研作业-Notion
2021软工-调研作业-Notion 项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 案例分析作业要求 我在这个课程的目标是 学习软件开发的工业化 ...
- Java集合--Java核心面试知识整理(二)
目前CSDN,博客园,简书同步发表中,更多精彩欢迎访问我的gitee pages 目录 JAVA集合 2.1 接口继承关系和实现 2.2 List 2.2.1 ArrayList(数组) 2.2.2 ...
- Lua OpenResty容器化(考古历程)
原文地址:Lua OpenResty容器化(考古历程) 背景 公司有几个"远古时期"的项目,一直都相对较为稳定,但是项目每天总会在一些时段,请求每分钟QPS到达峰值800K左右,导 ...