千家信息网

如何理解Python vim检查编码

发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,这篇文章将为大家详细讲解有关如何理解Python vim检查编码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。如果你在打开一个文件时中文编码是什么格式
千家信息网最后更新 2025年02月08日如何理解Python vim检查编码

这篇文章将为大家详细讲解有关如何理解Python vim检查编码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

如果你在打开一个文件时中文编码是什么格式不太清楚的话,例如文件头可能指定是utf8,而实际编码却不是,就针对这一情况,你就可以用Python vim检查编码对其进行解决。

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

vim的vimrc里面增加两行:

  1. set fenc=utf-8

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

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

set enc=cp936

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

对新打开的已经存在的文件,如果不确定一个文件是否是utf8还是gbk,用Pythonvim打开文件,看到中文,再在命令模式下执行

:%!xxd

看到相应的二进制。假如文本中有"你好",会在左边对应位置看到你好的十六进制表示。打开python3.0,在命令行下将文本中的特定字"你好"进行二进制转码。

view plaincopy to clipboardprint?  >>> a='你好'   >>> b=a.encode('utf8')   >>> b   b'\xe4\xbd\xa0\xe5\xa5\xbd'   >>> c=a.encode('gbk')   >>> c   b'\xc4\xe3\xba\xc3'   >>> a='你好' >>> b=a.encode('utf8')  >>> b  b'\xe4\xbd\xa0\xe5\xa5\xbd'  >>> c=a.encode('gbk')  >>> c  b'\xc4\xe3\xba\xc3'

可以看到,对中文"你好"的二进制,utf8是

0xe4ba0 0xe5a5bd

而对gbk,gb2312,cp936,gb18030,则二进制是:0xc4e3 0xbac3与Python vim检查编码中二进制一比较,就看出文本中是什么编码了。知道编码后,再用

:%!xxd -r

命令将十六进制转为普通的文本,保存。对已经存在的文本,linux下可以用iconv将其转码。

关于如何理解Python vim检查编码就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

编码 文件 二进制 你好 文本 检查 中文 命令 内容 十六进制 实际 文章 更多 格式 知识 篇文章 不错 普通 清楚 一致 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 字节面试数据库 如何到医院自助服务器打印验血单 广州雷致网络技术有限公司 数据库原理与技术上机实验 租到服务器需要远程管理吗 系统软件开发工资 三级网络技术与数据库技术 外国服务器管理员管理熊孩子 幼儿园网络安全知识宣传简报 软件开发项目审计报告书 手机热点服务器名称和地址 服务器可以没有域名吗 软件开发的部门分配 阿里云服务器安全组件 监控室服务器管理制度 三级数据库技术选择题大全 ad是什么网络安全设备 一个学生数据库需要哪些表 幼儿园预防网络安全朋友圈文案 数据库中文是问号怎么回事 石林信息化软件开发厂家价格 本溪互助盘软件开发价格 网络技术在军事方面 服务器国外租用 网络安全规划同步 永恒之塔服务器管理工具 长城汽车城网络安全工程师 ps4坏了数据库 中国网络安全运营中心 华为云数据库产品测试活动
0