`
totoxian
  • 浏览: 1073990 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

用python3.0 和vim配合检查文件中文的编码

阅读更多

用python3.0 和vim配合检查文件中文的编码


周海汉 /文 2009.2.3


打开一个中文文件,不清楚其中文编码到底是什么格式。python源程序文件头可能指定是utf8,而实际编码却是gbk。不一致的编码在python源码中,可能在执行时得到错误的结果。一种解决办法是查看二进制,但汉字的二进制到底对应什么编码呢?

python3.0内部缺省编码为utf-8。

vim的vimrc里面增加两行:


set fenc=utf-8
set fileencodings=utf-8,cp936,big5,euc-jp,euc-kr,latin1,ucs-bom


这样,文件保存缺省的为utf-8编码。

在.vimrc中设置fenc以处理中文文件名。设置fileencoding=utf-8,gbk,...等让vim 7.0以上自动判别文件内码。如果不设置的话,在linux下打开gb2312内码的文件会显示乱码。设置后系统会自动判断内码。

set enc=cp936 这是gvim界面显示的编码,windows下用cp936,linux下用utf8,最好不要设,系统自己判断。

对新打开的已经存在的文件,如果不确定一个文件是否是utf8还是gbk,用vim打开文件,看到中文,再在命令模式下执行
:%!xxd
看到相应的二进制。假如文本中有“你好”,会在左边对应位置看到你好的十六进制表示。
打开python3.0,在命令行下将文本中的特定字“你好”进行二进制转码。



可以看到,对中文“你好”的二进制,utf8是
0xe4ba0 0xe5a5bd
而对gbk,gb2312,cp936,gb18030,则二进制是:
0xc4e3 0xbac3
与vim中二进制一比较,就看出文本中是什么编码了。
知道编码后,再用
:%!xxd -r
命令将十六进制转为普通的文本,保存。
对已经存在的文本,linux下可以用iconv将其转码。

分享到:
评论

相关推荐

    Python-Pythonmode将Vim变成PythonIDE的一款多合一插件

    Python-mode是针对Vim文本编辑器的一个强大插件,它将Vim转换为一个功能丰富的Python集成开发环境(IDE)。这个插件集成了多种实用功能,以提高Python开发者在Vim中的工作效率。以下是对该插件及其功能的详细说明: ...

    Python-Syntastic是Vim的一个语法检查插件

    Python-Syntastic不仅可以与pylint、flake8等工具配合,还可以与其他语言的语法检查器一起使用,实现多语言的语法检查。这对于处理包含多种语言的项目非常有用。 ### 6. 注意事项 - 要确保你的系统中已经安装了所...

    Python-一个Vim配色方案colorscheme

    在实际应用中,我们还可以结合其他Vim插件,如NERDTree(用于文件管理),Tagbar(显示代码标签),Ale(实时代码检查)等,构建出一个完整的Python开发环境。这些插件与配色方案配合使用,可以进一步提高生产力和...

    python+vim+win

    在这样的环境下,你可以在Vim中直接编写Python代码,利用内置的补全功能和错误检查提高效率。同时,Pythonwin可以让你通过图形化界面来调试和运行Python程序,这对于处理复杂的窗口交互或系统级别的任务非常方便。...

    mac下vim之python配置步骤

    Mac 下 Vim 之 Python 配置步骤 Vim 是一款功能强大且灵活的文本编辑器,广泛应用于编程、文档编辑等领域。Python 是一种广泛使用的编程语言,广泛应用于人工智能、数据分析、Web 开发等领域。下面我们将介绍如何在...

    python写vim script 之 山寨版 dbext

    Python写vim script之山寨版dbext,这个主题主要围绕如何使用Python语言来编写Vim插件,特别是构建一个类似于dbext的功能。dbext是Vim中一个非常实用的数据库扩展,它允许用户在Vim环境下直接操作数据库,执行SQL...

    Python-一个适用于python开发的轻量级的干净的vim配置

    `vimrc`文件是Vim的配置文件,它包含了用户自定义的设置和快捷键,使得Vim更加符合个人的使用习惯。`vimrc-master`文件很可能就是一个基础的Vim配置模板,用于快速搭建适合Python开发的环境。这个配置文件通常会包含...

    Python库 | vim-vint-0.3.7.tar.gz

    综上所述,vim-vint是一个用Python编写的,针对Vim编辑器的静态代码分析工具,主要用于检查和维护Vim插件的编码风格和最佳实践。它适用于Linux环境,同时也支持其他支持Vim的平台。对于那些使用Vim进行开发的程序员...

    Python库 | vim-packadd-0.3.10.tar.gz

    本文将深入探讨与"Python库 | vim-packadd-0.3.10.tar.gz"相关的知识点,包括Vim编辑器、Python库、以及如何在Linux环境中安装和使用`vim-packadd`。 首先,Vim编辑器是一个基于命令行的文本编辑器,起源于早期的Vi...

    VIM配置文件(python版)

    针对python的VIM配置文件,包含如何配置YCM过程,具体不懂欢迎咨询。

    Python-使用更高效的Vim进行开发

    对于Python开发者来说,Vim是一个备受推崇的文本编辑器,尤其当它被优化和配置得高效时。本文将深入探讨如何利用Vim提升Python开发的效率。 首先,让我们理解为什么Vim是Python开发者的选择。Vim拥有强大的插件系统...

    Python-一份对Golang和Python友好的VIM配置

    本话题将深入探讨一篇关于如何为Python和Golang开发者优化VIM配置的文章,这份配置被称为"Python-一份对Golang和Python友好的VIM配置"。 首先,让我们了解VIM的基本概念。VIM(Vi IMproved)是Vi编辑器的增强版,...

    Python-为vim配置python自动补全和tab缩进自动转换为空格等功能

    Python作为广泛使用的编程语言,与Vim的结合可以让编程体验更加高效。本教程将详细介绍如何为Vim配置Python相关的自动化功能,包括Python自动补全、Tab缩进自动转换为空格等,让你的Python开发工作流程更加顺畅。 ...

    vim 配置文件 vim 配置文件 vim 配置文件

    vim配置文件 vimrc vim配置文件 vimrc vim配置文件 vimrc

    安装python3.8及vim插件

    安装完vim插件(使用vi时会报错-由于自己技术能力有限暂时未解决) 使用vim不会报错,可自动缩进以及补全 需要sh或bash安装

    python.vim插件.zip

    Python.vim是一个专门为Python开发设计的Vim编辑器插件,它增强了Vim对Python代码的支持,提供了诸如语法高亮、自动完成、代码折叠、跳转到定义等实用功能,极大地提高了Python程序员在Vim环境中的开发效率。...

    将vim打造成python编译利器(win32)

    将vim配置为python的开发平台,本文件自带插件,其中 .vim文件夹下的目录直接拷贝到<vim安装路径>\<vim版本号>下,例如在我的电脑上,就将.vim下的所有目录拷贝至:C:\Program Files\Vim\vim73 即可。 .vimrc文件...

    Python-一个基于Vim的python可视化开发工具

    总结来说,虽然Vim本身是一个简单的文本编辑器,但通过安装和配置适当的插件,可以将其转变为一个强大的Python开发环境,提供代码高亮、自动补全、实时错误检查、调试工具以及项目管理功能。这不仅能满足专业开发者...

    Python-Jedivim绑定Vim和Jedi自动补全库对Python进行自动补全

    总的来说,Jedi-vim是Vim用户在Python开发中的得力助手,它的智能补全和代码导航功能显著提升了编程体验。通过合理配置和熟练使用,你将能够更加高效地编写和维护Python代码。如果你是Vim的忠实用户,并且经常从事...

Global site tag (gtag.js) - Google Analytics