码迷,mamicode.com
首页 > 其他好文 > 详细

Source Insight 中UTF-8转GBK

时间:2016-01-25 09:53:43      阅读:431      评论:0      收藏:0      [点我收藏+]

标签:

目前github上的很多代码都是utf8编码,然而阅读源码时,SI软件中UTF8中文会乱码

解决方法是:将UTF8转化GBK。

#encoding:utf-8
‘‘‘
Created on 2016年1月14日

@author: pan
‘‘‘


import os

def convertEncoding(from_encode,to_encode,old_filepath,target_file):
    f1=file(old_filepath)
    content2=[]
    content2.append("//flag: convert utf-8 to ASNI\n") #在文件首部标记转换
    while True:
        line=f1.readline()
#        print line
        content2.append(line.decode(from_encode).encode(to_encode))
        if len(line) ==0:
            break

    f1.close()
    
#    print line
    f2=file(target_file,w)
    f2.writelines(content2)
    f2.close()

#把文件由GBK编码转换为UTF-8编码,也就是filepath的编码是GBK
def convertFromGBK2utf8(filepath):
    convertEncoding("GBK", "UTF-8", filepath, filepath+".bak")


#把文件由UTF-8编码转换为GBK编码,也就是filepath的编码是UTF-8
def convertFromUTF82gbk(filepath):
    convertEncoding("UTF-8", "GBK", filepath, filepath)
    print "convert success"

#打印rootDir目录下的树形结构
def tree_in_python(rootDir, level=1): 
    if level==1: print rootDir 
    for lists in os.listdir(rootDir): 
        path = os.path.join(rootDir, lists) 
        print *(level-1)+│--+lists 
        if os.path.isdir(path): 
            tree_in_python(path, level+1) 

#打印rootDir目录下的所有文件名
def list_file(rootDir): 
    list_dirs = os.walk(rootDir) 
    for root, dirs, files in list_dirs: 
#         for d in dirs: 
#             print os.path.join(root, d)      
        for f in files:   
            print os.path.join(root, f) 

#转换目录下所有的.c或者.h文件,方便sourceInsight阅读源代码
def convert_utf_2_asni(srcDir):
    list_dirs = os.walk(srcDir) 
    for root, dirs, files in list_dirs:     
        for f in files: 
            if f.endswith(".c") or f.endswith(".h"):
                filename = os.path.join(root,f)
                print filename
                convertFromUTF82gbk(filename)
    
            

# filepath="G:\\code\\opensource_code\\libevent_asni\\libevent-2.0.22-stable\\buffer.c"
# filepath="utf_test.tx"
# convertFromUTF82gbk(filepath)

#转换该目录下所有.c或者.h文件,从UTF-8到GBK,方便sourceInsight阅读源代码
convert_utf_2_asni("G:\code\opensource_code\libevent_asni\libevent-2.0.22-stable")

Source Insight 中UTF-8转GBK

标签:

原文地址:http://www.cnblogs.com/panweishadow/p/5156560.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!