自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python vim檢查編碼在文件中的對應(yīng)編碼的介紹

開發(fā) 后端
你如果想對Python vim檢查編碼的相關(guān)功能與具體應(yīng)用方案有所了解的話,你就可以點(diǎn)擊以下的文章,希望你會有所收獲。

如果你在打開一個文件時中文編碼是什么格式不太清楚的話,例如文件頭可能指定是utf8,而實(shí)際編碼卻不是,就針對這一情況,你就可以用Python vim檢查編碼對其進(jìn)行解決,以下是文章的具體介紹。

打開一個中文文件,不清楚其中文編碼到底是什么格式。python源程序文件頭可能指定是utf8,而實(shí)際編碼卻是gbk。不一致的編碼在python源碼中,可能在執(zhí)行時得到錯誤的結(jié)果。一種解決辦法是查看二進(jìn)制,但漢字的二進(jìn)制到底對應(yīng)什么編碼呢?

vim的vimrc里面增加兩行:

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

 

這樣,文件保存缺省的為utf-8編碼。

 

  1. set enc=cp936 

這是gvim界面顯示的編碼,windows下用cp936,linux下用utf8,***不要設(shè),系統(tǒng)自己判斷。

對新打開的已經(jīng)存在的文件,如果不確定一個文件是否是utf8還是gbk,用Pythonvim打開文件,看到中文,再在命令模式下執(zhí)行

  1. :%!xxd  

看到相應(yīng)的二進(jìn)制。假如文本中有“你好”,會在左邊對應(yīng)位置看到你好的十六進(jìn)制表示。打開python3.0,在命令行下將文本中的特定字“你好”進(jìn)行二進(jìn)制轉(zhuǎn)碼。

  1. view plaincopy to clipboardprint?  
  2. >>> a='你好'   
  3. >>> b=a.encode('utf8')   
  4. >>> b   
  5. b'\xe4\xbd\xa0\xe5\xa5\xbd'   
  6. >>> c=a.encode('gbk')   
  7. >>> c   
  8. b'\xc4\xe3\xba\xc3'   
  9. >>> a='你好' 
  10. >>> b=a.encode('utf8')  
  11. >>> b  
  12. b'\xe4\xbd\xa0\xe5\xa5\xbd'  
  13. >>> c=a.encode('gbk')  
  14. >>> c  
  15. b'\xc4\xe3\xba\xc3'  

可以看到,對中文“你好”的二進(jìn)制,utf8是

  1. 0xe4ba0 0xe5a5bd 

而對gbk,gb2312,cp936,gb18030,則二進(jìn)制是:0xc4e3 0xbac3與Python vim檢查編碼中二進(jìn)制一比較,就看出文本中是什么編碼了。知道編碼后,再用

  1. :%!xxd -r 

命令將十六進(jìn)制轉(zhuǎn)為普通的文本,保存。對已經(jīng)存在的文本,linux下可以用iconv將其轉(zhuǎn)碼。以上內(nèi)容就是對Python3.0 和Python vim檢查編碼的介紹。

【編輯推薦】

  1. Python常用模塊中經(jīng)常使用的其中模塊
  2. Python模塊功能在實(shí)際應(yīng)用方案中的相關(guān)功能的介紹
  3. Python安裝中對配置環(huán)境變量實(shí)際操作的方法
  4. Python手工加載Django的實(shí)際操作的四部分詳解
  5. Python VIM 注釋掉代碼的具體方案的描述

 

責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-07-28 03:43:00

RowDataBoun

2010-03-10 13:42:44

Python腳本

2010-03-24 18:39:21

Python unic

2010-03-18 17:43:46

python 編程語言

2012-01-13 12:21:45

Java

2009-12-04 17:31:32

PHP編碼轉(zhuǎn)換

2010-03-11 16:03:04

Python prin

2010-03-24 11:37:22

Python unic

2010-03-24 18:00:30

Python中文轉(zhuǎn)換u

2009-05-05 09:46:18

Java編碼理論字符

2009-07-27 16:56:05

DataBound

2014-09-19 15:30:26

2022-12-13 07:55:00

Python地理編碼

2016-02-15 14:13:39

Python編碼環(huán)境

2016-05-12 15:51:08

前端開發(fā)字符編碼

2009-12-01 14:46:16

PHP mb_subs

2009-12-24 10:12:02

Linux查看文件編碼

2010-03-05 15:02:09

Linux文件編碼

2023-04-13 00:24:00

前端編碼JavaScrip

2010-03-19 09:26:52

Python編程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號