`

restore_utf8、utf8togbk

 
阅读更多
restore_utf8.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Run "python restore_utf8.py" to rename *.h.utf8 to *.h.
#

import os

def restore_utf8(dir):
    resultfn = ''
    for fn in os.listdir(dir):
        sfile = os.path.join(dir, fn)
        if os.path.isdir(sfile):
            resultfn += restore_utf8(sfile)
            continue
        if fn.endswith('.utf8'):
            orgfile = sfile[:-5]
            try:
                if os.path.exists(orgfile): os.remove(orgfile)
                os.rename(sfile, orgfile)
                resultfn += fn[:-5] + ' '
            except:
                print('except for %s' %(fn,))
    return resultfn

if __name__=="__main__":
    resultfn = restore_utf8(os.path.abspath('.'))
    resultfn += restore_utf8(os.path.abspath('../core'))
    resultfn += restore_utf8(os.path.abspath('../android'))
    if resultfn != '': print('restore files: ' + resultfn)



#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Run "python utf8togbk.py" to convert source code files to the GBK format on Windows.
#

import os, codecs, sys

reload(sys)
sys.setdefaultencoding('gbk')

def utf8togbk(dir):
    resultfn = ''
    for fn in os.listdir(dir):
        sfile = os.path.join(dir, fn)
        if os.path.isdir(sfile):
            resultfn += utf8togbk(sfile)
            continue
        if fn.endswith('.h') or fn.endswith('.cpp'):
            if os.path.exists(sfile + '.utf8'):
                continue
            try:
                text = open(sfile,'r',-1,'utf-8').read()
                oldtext = text
            except UnicodeDecodeError:
                continue
            except TypeError:
                text = open(sfile).read()
                oldtext = text
                try:
                    if text[:3] == codecs.BOM_UTF8:
                        u = text[3:].decode('utf-8')
                        text = u.encode('gbk')
                except UnicodeEncodeError:
                    continue
                except UnicodeDecodeError:
                    continue
            try:
                text = text.replace('\r\n','\n')
                text = text.replace('\n','\r\n')
                if cmp(text, oldtext) != 0:
                    os.rename(sfile, sfile + '.utf8')
                    open(sfile, 'wb').write(text)
                    resultfn += fn + ' '
                    st = os.stat(sfile + '.utf8')
                    os.utime(sfile, (st.st_atime, st.st_mtime))
            except:
                print('except for %s' %(fn,))
    return resultfn

if __name__=="__main__":
    resultfn = utf8togbk(os.path.abspath('.'))
    resultfn += utf8togbk(os.path.abspath('../core'))
    resultfn += utf8togbk(os.path.abspath('../android'))
    if resultfn != '': print('utf8->gbk: ' + resultfn)
分享到:
评论

相关推荐

    [量产部落]Restore_v3.26.0.0.rar

    【量产部落】Restore_v3.26.0.0是一款针对USB闪存盘进行量产修复和管理的工具,主要用于解决USB设备出现的各种问题,如无法识别、速度慢、格式化失败等。该软件的主要功能包括对USB设备进行初始化、低级格式化、恢复...

    USB Restore_v3.13.0.0.zip

    标题中的“USB Restore_v3.13.0.0.zip”是一个软件的压缩包,它主要用于U盘的恢复和格式化功能。这个版本号(v3.13.0.0)表明这是该软件的第三个主要版本,第十三个小版本,零次修订,可能包含了若干错误修复和功能...

    SSDT.rar_SSDT DELPHI_delphi ssdt_restore_restore ssdt_ssdt

    标题"SSDT.rar_SSDT DELPHI_delphi ssdt_restore_restore ssdt_ssdt"表明这是一个关于使用Delphi语言编写的驱动程序,其主要功能是恢复SSDT的原始状态。这通常涉及到系统调试、安全分析或者恶意软件清除等领域,因为...

    Restore_Windows_Photo_Viewer_ALL_USERS.reg

    这是一个注册表文件,如果你的系统是win10系统,想使用win7使用时的看图工具,那么你直接管理员运行此注册表,打开一个图片就会跳出新的打开方式,选择你要用的方式就可以了!!

    restore_tir_demo_DEMO_针叶温度恢复_源码

    8. **DEMO程序**: 这个"DEMO"表明提供的代码是一个演示版本,用户可以通过运行此代码了解算法的基本工作流程,并可能根据自身需求进行调整和扩展。 综上所述,"restore_tir_demo_DEMO_针叶温度恢复_源码"是一个...

    link_Save_and_restore_the_state_of_Shiny_app's_w_shinyURL.zip

    link_Save_and_restore_the_state_of_Shiny_app's_w_shinyURL

    I959_EFS_Backup_Restore_WIN

    标题"I959_EFS_Backup_Restore_WIN"表明这是一个针对特定型号手机(I959)的EFS(Embedded File System)备份与恢复工具的Windows版本。EFS是Android系统中一个至关重要的部分,它存储了设备的网络锁、IMEI(国际...

    Root_with_Restore_by_Bin4ry_v25

    【Root_with_Restore_by_Bin4ry_v25】是一款专为HTC设备设计的ROOT工具,由知名开发者Bin4ry开发。ROOT是Android系统中的一个术语,指的是获取设备的超级用户权限,允许用户对系统进行深度定制和优化。这款工具的v25...

    restore_create_func.rar_新建功能缺失

    标题“restore_create_func.rar_新建功能缺失”提示我们这个问题可以通过一个名为“restore_create_func.reg”的文件来解决。 描述中提到,当“新建”功能无法正常使用时,可以通过鼠标左键点击这个reg文件来恢复。...

    restore_cattlegqi_python_

    8. **模型部署**:训练好的模型可以部署到生产环境中,为实际应用提供服务。这可能需要将模型封装成API,或者集成到Web应用或移动应用中。 综上所述,"restore_cattlegqi_python_" 涉及的IT知识点主要是利用Python...

    USB Restore-v3.13.0.0 解除U盘写保护

    USB Restore_v3.13.0.0 解除 u盘写保护,操作简单很方便。一款实用的u盘写保护解除工具。usb restore最新版可以轻松地恢复从USB驱动器也很受欢迎,如笔式驱动器,记忆棒,拇指驱动器,USB闪存驱动器等无法访问的文件...

    restore_vhd.img

    restore_vhd.img,制作快速恢复vhd系统很方便,我找了很久才找到的。

    cal.rar_kalman restore_卡尔曼滤波 信号_白噪声_白噪声去除

    本案例中,"cal.rar_kalman restore_卡尔曼滤波 信号_白噪声_白噪声去除" 提供了一个使用卡尔曼滤波器去除白噪声并恢复原始信号的实例。下面我们将深入探讨卡尔曼滤波、信号处理以及白噪声的相关概念。 首先,...

    【12c】12c RMAN新特性之通过网络远程恢复数据库(RESTORE_Recover from Service) new_ITPUB博客.mhtml

    【12c】12c RMAN新特性之通过网络远程恢复数据库(RESTORE_Recover from Service) new_ITPUB博客.mhtml

    VB_window.rar_vb window.restore_vb 界面_vb界面

    "VB_window.rar_vb window.restore_vb 界面_vb界面"这个标题暗示了我们将在VB环境中讨论如何处理窗口状态,特别是窗口的恢复操作以及创建和设计用户界面。 1. **VB窗口状态管理**:在VB中,窗口有多种状态,包括...

    SSDT.rar_SSDT Restore_ssdt

    SSDT Restore项目,正如其标题"SSDT.rar_SSDT Restore_ssdt"所示,是针对SSDT的一种恢复或备份工具。这可能意味着该压缩包包含了用于恢复SSDT到其原始或已知良好状态的代码。通常,这类工具的用途可能包括修复被恶意...

    classe-data-restore_delphi_dailyigx_zip_

    标题 "classe-data-restore_delphi_dailyigx_zip_" 暗示这是一份与 Delphi 编程语言相关的源代码库,特别是涉及到数据恢复或管理的类库。 DailyIGX 可能是这个库的一个特定组件或者一个开发工具集的名字,而 .zip ...

    IBD.rar_deconvolution_ibd-rl_image restore_卷积_盲反卷积

    在IT领域,图像处理是一个非常重要的分支,而“IBD.rar_deconvolution_ibd-rl_image restore_卷积_盲反卷积”这个标题揭示了我们正在探讨的是一个关于图像恢复的技术,具体是利用卷积和盲反卷积的方法。在压缩包中,...

    DATAUNIT_MySQL_PAGE_RESTORE_v2.3_release_2020-03-16.zip

    支持从裸磁盘、分区、文件中搜索所有IBD page碎片。 1、输入字母a-z :搜索对应的逻辑分区A-Z。此模式请以管理员身份运行。 2、输入数字1-9 :搜索物理磁盘,对应“磁盘管理器”中的磁盘0-9。...

    Super_Backup_Restore_Premium_v2.2.70_build_140.apk

    超级备份与还原 Android手机上最快的数据备份和还原工具!您可以将应用程序,联系人,短信,通话记录,书签,日历备份到SD卡,Gmail或Google云端硬盘中。 您可以一键分享安装APK文件给您的朋友。...

Global site tag (gtag.js) - Google Analytics