CN112527733A - 一种linux系统下归档文件和压缩文件乱码的处理方法和系统 - Google Patents
一种linux系统下归档文件和压缩文件乱码的处理方法和系统 Download PDFInfo
- Publication number
- CN112527733A CN112527733A CN202011213239.9A CN202011213239A CN112527733A CN 112527733 A CN112527733 A CN 112527733A CN 202011213239 A CN202011213239 A CN 202011213239A CN 112527733 A CN112527733 A CN 112527733A
- Authority
- CN
- China
- Prior art keywords
- file
- files
- encoding
- linux system
- coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及计算机技术领域,具体涉及一种linux系统下归档文件和压缩文件乱码的处理系统,该处理系统为在linux系统的文件管理系统中安装的编码组件,编码组件包括插件、编解码模块和乱码处理模块;插件用于建立文件的文件类型、扩展名与解压函数的对应关系表;编解码模块用于依据文件的路径在对应关系表中获取到文件的扩展名,进而在对应关系表中查找对应的文件类型,再依据文件类型调用对应关系表中对应的解压函数对文件进行解压;乱码处理模块用于获取Linux系统桌面的编码格式,并逐一枚举解压目录下的文件,将文件的编码格式转换为Linux系统桌面的编码格式,直至枚举结束。本发明在文件解压过程中对文件字符集进行自适配实现对文件乱码的处理。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种linux系统下归档文件和压缩文件乱码的处理方法和系统。
背景技术
随着信息技术的快速发展,桌面操作系统成为目前人们从事办公、设计、研发的必要环境。传统的桌面操作系统以微软的windows系列为主。Windows系列桌面操作系统在处理文件及其乱码方面相对成熟。
近几年软件体系的自主安全也越来越受到重视。以linux为基础的自主桌面操作系统迅速发展起来。Linux操作系统因其开源性,所以备受广大开发者青睐,但因其开放性,产生大量的碎片性,形成诸多操作系统桌面版本,linux桌面操作系统的多样性造成linux桌面操作系统之间,用户的字符集不同。因此在不同版本的linux桌面操作以及windows桌面系统与linux桌面操作系统之间进行文件交互过程,由于不同桌面操作系统之间的编码格式不同,造成在文件传输过程中形成乱码,尤其是在压缩文件内部更容易形成乱码。
发明内容
本发明针对linux桌面操作系统之间进行文件交互,因其不同桌面系统之间的字符集不同产生乱码问题,提供一种linux系统下归档文件和压缩文件乱码的处理方法和系统,在文件解压过程中对文件字符集进行自适配实现对文件乱码的处理。
为实现上述目的,本发明采用以下技术方案:
本发明提供一种linux系统下归档文件和压缩文件乱码的处理方法,包括:
在linux系统的文件管理系统中安装编码组件,所述编码组件包括插件、编解码模块和乱码处理模块;
通过所述文件管理系统启动编码组件,文件管理系统将文件及文件的路径传送给编码组件;所述插件扫描并获取归档文件和压缩文件的动态库,建立文件的文件类型、扩展名与解压函数的对应关系表;
所述编解码模块依据文件的路径在对应关系表中获取到文件的扩展名,进而在对应关系表中查找对应的文件类型,再依据文件类型调用对应关系表中对应的解压函数对文件进行解压;所述乱码处理模块获取Linux系统桌面的编码格式,并逐一枚举解压目录下的文件,将文件的编码格式转换为Linux系统桌面的编码格式,直至枚举结束。
在进一步地方案中,所述对应关系表中还包括文件的识别函数。
在进一步地方案中,所述编解码模块若依据文件的路径在对应关系表中不能获取到文件的扩展名,则先调用对应关系表中的识别函数识别文件的类型,再将文件类型传送给编解码模块。
在进一步地方案中,所述编解码模块若依据文件的路径在对应关系表中能获取到文件的扩展名,则判断通过文件的扩展名在对应关系表中是否能查找对应的文件类型,如果能,则将文件类型传送给编解码模块,如果不能,则关闭编码组件。
在进一步地方案中,所述乱码处理模块获取Linux系统桌面的编码格式,并逐一枚举解压目录下的文件,将文件的编码格式转换为Linux系统桌面的编码格式,直至枚举结束,具体包括:乱码处理模块获取Linux系统桌面的编码格式,并逐一枚举解压目录下的文件,判断文件的编码格式与Linux系统桌面的编码格式是否一致,若一致,则枚举下一个文件,若不一致,则将文件的编码格式转换为Linux系统桌面的编码格式,直至枚举结束,关闭编码组件。
本发明还一种linux系统下归档文件和压缩文件乱码的处理系统,所述处理系统为在 linux系统的文件管理系统中安装的编码组件,所述编码组件包括插件、编解码模块和乱码处理模块;
所述插件用于扫描并获取归档文件和压缩文件的动态库,建立文件的文件类型、扩展名与解压函数的对应关系表;
所述编解码模块用于依据文件的路径在对应关系表中获取到文件的扩展名,进而在对应关系表中查找对应的文件类型,再依据文件类型调用对应关系表中对应的解压函数对文件进行解压;
所述乱码处理模块用于获取Linux系统桌面的编码格式,并逐一枚举解压目录下的文件,将文件的编码格式转换为Linux系统桌面的编码格式,直至枚举结束。
在进一步地方案中,所述编解码模块进一步包括识别函数调用模块,用于若依据文件的路径在对应关系表中不能获取到文件的扩展名,则先调用对应关系表中的识别函数识别文件的类型,再将文件类型传送给编解码模块。
在进一步地方案中,所述编解码模块进一步包括第一判断模块,用于判断通过文件的扩展名在对应关系表中是否能查找对应的文件类型,如果能,则将文件类型传送给编解码模块,如果不能,则关闭编码组件。
在进一步地方案中,所述乱码处理模块进一步包括第二判断模块,用于判断文件的编码格式与Linux系统桌面的编码格式是否一致,若一致,则枚举下一个文件,若不一致,则将文件的编码格式转换为Linux系统桌面的编码格式,直至枚举结束,关闭编码组件。
相比现有技术,本发明的有益效果在于:
本发明处理方法依托于Linux操作系统的Cinnamon桌面系统之上的Nemo文件管理系统,以编码组件的方式实现,编码组件包括插件、编解码模块和乱码处理模块,通过插件建立文件的文件类型、扩展名与解压函数的对应关系表,编解码模块依据文件的路径在对应关系表中获取到文件的扩展名,进而在对应关系表中查找对应的文件类型,再依据文件类型调用对应关系表中对应的解压函数对文件进行解压;乱码处理模块获取Linux系统桌面的编码格式,并逐一枚举解压目录下的文件,将文件的编码格式转换为Linux系统桌面的编码格式,直至枚举结束,本发明在文件解压过程中对文件字符集进行自适配实现对文件乱码的处理。
附图说明
图1为本发明处理系统与Linux系统的关系逻辑图。
图2为本发明处理系统的逻辑架构组成图。
图3为本发明的处理方法流程图。
图4为本发明实施例2中右键Kstone菜单。
图5为本发明实施例2中未进行乱码处理的文件目录。
具体实施方式
以下实施例用于说明本发明,但不用来限定本发明的保护范围。若未特别指明,实施例中所用技术手段为本领域技术人员所熟知的常规手段。
需要说明的是,当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
实施例一
图1示出了在本发明处理系统与Linux系统的关系逻辑图,本发明处理系统依托于Linux操作系统的Cinnamon桌面系统之上的Nemo文件管理系统,以编码组件的方式实现,即在 linux系统的文件管理系统中安装编码组件。图2示出了本发明处理系统的逻辑架构组成图,即编码组件包括插件、编解码模块和乱码处理模块。
如图3所示,一种linux系统下归档文件和压缩文件乱码的处理系统,处理系统为在linux系统的文件管理系统中安装的编码组件,编码组件包括插件101、编解码模块102和乱码处理模块103;
插件101用于扫描并获取归档文件和压缩文件的动态库,建立文件的文件类型、扩展名与解压函数的对应关系表;
编解码模块102用于依据文件的路径在对应关系表中获取到文件的扩展名,进而在对应关系表中查找对应的文件类型,再依据文件类型调用对应关系表中对应的解压函数对文件进行解压;
乱码处理模块103用于获取Linux系统桌面的编码格式,并逐一枚举解压目录下的文件,将文件的编码格式转换为Linux系统桌面的编码格式,直至枚举结束。
编解码模块102进一步包括识别函数调用模块1021,用于若依据文件的路径在对应关系表中不能获取到文件的扩展名,则先调用对应关系表中的识别函数识别文件的类型,再将文件类型传送给编解码模块。
编解码模块102进一步包括第一判断模块1022,用于判断通过文件的扩展名在对应关系表中是否能查找对应的文件类型,如果能,则将文件类型传送给编解码模块,如果不能,则关闭编码组件。
乱码处理模块103进一步包括第二判断模块1031,用于判断文件的编码格式与Linux 系统桌面的编码格式是否一致,若一致,则枚举下一个文件,若不一致,则将文件的编码格式转换为Linux系统桌面的编码格式,直至枚举结束,关闭编码组件。
实施例二
如图4所示,本发明实施例一种linux系统下归档文件和压缩文件乱码的处理方法包括:
S201:通过文件管理系统启动编码组件,文件管理系统将文件及文件的路径传送给编码组件;
S202:插件扫描并获取归档文件和压缩文件的动态库,建立文件的文件类型、扩展名与解压函数的对应关系表,如下表所示。
S203:编解码模块依据文件的路径在对应关系表中获取到文件的扩展名,进而在对应关系表中查找对应的文件类型,再依据文件类型调用对应关系表中对应的解压函数对文件进行解压;
S204:乱码处理模块通过系统函数获取Linux系统桌面的编码格式,并逐一枚举解压目录下的文件,将文件的编码格式转换为Linux系统桌面的编码格式,直至枚举结束。
如图5所示,在一种情况中,文件的扩展名可能被破坏或者无法识别,在对应关系表中还需要包括文件的识别函数,需要依靠识别函数通过阅读文件的开头部分信息来识别文件的类型,而对应关系表中也可能不存在对应的文件类型,那么步骤S203进一步包括步骤 S2031和步骤S2032。
步骤S2031:编解码模块若依据文件的路径在对应关系表中不能获取到文件的扩展名,则先调用对应关系表中的识别函数识别文件的类型,再将文件类型传送给编解码模块。
步骤S2032:编解码模块若依据文件的路径在对应关系表中能获取到文件的扩展名,则判断通过文件的扩展名在对应关系表中是否能查找对应的文件类型,如果能,则将文件类型传送给编解码模块,如果不能,则关闭编码组件。
如图5所示,S204进一步包括S2041:判断文件的编码格式与Linux系统桌面的编码格式是否一致,若一致,则枚举下一个文件,若不一致,则将文件的编码格式转换为 Linux系统桌面的编码格式,直至枚举结束,关闭编码组件。
作为一种可实施方式,本发明通过开发Kstone程序作为编码组件进行实施。Kstone 程序安装于Linux操作系统的Cinnamon桌面系统之上的Nemo文件管理系统。为实现在桌面环境中以右键快捷方式解压文件,增加nemo文件管理器的扩展功能,增加右键功能菜单并能根据文件格式选择是否显示。点击文件出现Kstone工具的右键菜单,执行Kstone工具解压文件,进行乱码处理,能够将任意格式编码的文件名、文件夹名自动转换为Linux系统桌面的编码格式。
以上所述之实施例,只是本发明的较佳实施例而已,仅仅用以解释本发明,并非限制本发明实施范围,对于本技术领域的技术人员来说,当然可根据本说明书中所公开的技术内容,通过置换或改变的方式轻易做出其它的实施方式,故凡在本发明的原理上所作的变化和改进等,均应包括于本发明申请专利范围内。
Claims (9)
1.一种linux系统下归档文件和压缩文件乱码的处理方法,其特征在于,包括:
在linux系统的文件管理系统中安装编码组件,所述编码组件包括插件、编解码模块和乱码处理模块;
通过所述文件管理系统启动编码组件,文件管理系统将文件及文件的路径传送给编码组件;
所述插件扫描并获取归档文件和压缩文件的动态库,建立文件的文件类型、扩展名与解压函数的对应关系表;
所述编解码模块依据文件的路径在对应关系表中获取到文件的扩展名,进而在对应关系表中查找对应的文件类型,再依据文件类型调用对应关系表中对应的解压函数对文件进行解压;
所述乱码处理模块获取Linux系统桌面的编码格式,并逐一枚举解压目录下的文件,将文件的编码格式转换为Linux系统桌面的编码格式,直至枚举结束。
2.根据权利要求1所述的处理方法,其特征在于,所述对应关系表中还包括文件的识别函数。
3.根据权利要求2所述的处理方法,其特征在于,所述编解码模块若依据文件的路径在对应关系表中不能获取到文件的扩展名,则先调用对应关系表中的识别函数识别文件的类型,再将文件类型传送给编解码模块。
4.根据权利要求1所述的处理方法,其特征在于,所述编解码模块若依据文件的路径在对应关系表中能获取到文件的扩展名,则判断通过文件的扩展名在对应关系表中是否能查找对应的文件类型,如果能,则将文件类型传送给编解码模块,如果不能,则关闭编码组件。
5.根据权利要求1所述的处理方法,其特征在于,所述乱码处理模块获取Linux系统桌面的编码格式,并逐一枚举解压目录下的文件,将文件的编码格式转换为Linux系统桌面的编码格式,直至枚举结束,具体包括:乱码处理模块获取Linux系统桌面的编码格式,并逐一枚举解压目录下的文件,判断文件的编码格式与Linux系统桌面的编码格式是否一致,若一致,则枚举下一个文件,若不一致,则将文件的编码格式转换为Linux系统桌面的编码格式,直至枚举结束,关闭编码组件。
6.一种linux系统下归档文件和压缩文件乱码的处理系统,其特征在于,所述处理系统为在linux系统的文件管理系统中安装的编码组件,所述编码组件包括插件、编解码模块和乱码处理模块;
所述插件用于扫描并获取归档文件和压缩文件的动态库,建立文件的文件类型、扩展名与解压函数的对应关系表;
所述编解码模块用于依据文件的路径在对应关系表中获取到文件的扩展名,进而在对应关系表中查找对应的文件类型,再依据文件类型调用对应关系表中对应的解压函数对文件进行解压;
所述乱码处理模块用于获取Linux系统桌面的编码格式,并逐一枚举解压目录下的文件,将文件的编码格式转换为Linux系统桌面的编码格式,直至枚举结束。
7.根据权利要求6所述的处理系统,其特征在于,所述编解码模块进一步包括识别函数调用模块,用于若依据文件的路径在对应关系表中不能获取到文件的扩展名,则先调用对应关系表中的识别函数识别文件的类型,再将文件类型传送给编解码模块。
8.根据权利要求6所述的处理系统,其特征在于,所述编解码模块进一步包括第一判断模块,用于判断通过文件的扩展名在对应关系表中是否能查找对应的文件类型,如果能,则将文件类型传送给编解码模块,如果不能,则关闭编码组件。
9.根据权利要求6所述的处理系统,其特征在于,所述乱码处理模块进一步包括第二判断模块,用于判断文件的编码格式与Linux系统桌面的编码格式是否一致,若一致,则枚举下一个文件,若不一致,则将文件的编码格式转换为Linux系统桌面的编码格式,直至枚举结束,关闭编码组件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011213239.9A CN112527733A (zh) | 2020-11-04 | 2020-11-04 | 一种linux系统下归档文件和压缩文件乱码的处理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011213239.9A CN112527733A (zh) | 2020-11-04 | 2020-11-04 | 一种linux系统下归档文件和压缩文件乱码的处理方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112527733A true CN112527733A (zh) | 2021-03-19 |
Family
ID=74980586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011213239.9A Withdrawn CN112527733A (zh) | 2020-11-04 | 2020-11-04 | 一种linux系统下归档文件和压缩文件乱码的处理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527733A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220635A (zh) * | 2021-05-11 | 2021-08-06 | 深圳市星火数控技术有限公司 | 文件归档方法、装置、设备与计算机可读存储介质 |
-
2020
- 2020-11-04 CN CN202011213239.9A patent/CN112527733A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220635A (zh) * | 2021-05-11 | 2021-08-06 | 深圳市星火数控技术有限公司 | 文件归档方法、装置、设备与计算机可读存储介质 |
CN113220635B (zh) * | 2021-05-11 | 2022-02-15 | 深圳市星火数控技术有限公司 | 文件归档方法、装置、设备与计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8364706B2 (en) | System and method for information identification | |
US5854597A (en) | Document managing apparatus, data compressing method, and data decompressing method | |
US20020184251A1 (en) | Efficient collation element structure for handling large numbers of characters | |
US20070124302A1 (en) | Mapping a Source File From a Source System To a Target System | |
CN1278231C (zh) | 将抽象句法表示法1数据模型化成对象模型的方法及系统 | |
JP2008535081A (ja) | 開発者がシステム上の周知のロケーションを容易に発見し、または拡張するための能力 | |
CN111324619B (zh) | 微服务系统中的对象更新方法、装置、设备和存储介质 | |
US7010627B2 (en) | Method and apparatus for implementing hot key functions | |
CN112527733A (zh) | 一种linux系统下归档文件和压缩文件乱码的处理方法和系统 | |
CN102385527A (zh) | 一种提升业务脚本执行效率的装置及方法 | |
CN112307369A (zh) | 一种短链接处理方法、装置、终端及存储介质 | |
EP1193621A2 (en) | Automatically identifying a telephone number in electronic text | |
WO2009023585A2 (en) | Dynamically converting symbolic links | |
CN115481104A (zh) | 一种数据查询方法、装置、电子设备及存储介质 | |
CN101621771B (zh) | 短信编码处理方法、装置及系统 | |
CN110210224B (zh) | 一种基于描述熵的大数据移动软件相似性智能检测方法 | |
CN114491530B (zh) | 基于抽象流图和图神经网络的安卓应用程序分类方法 | |
CN113378163A (zh) | 基于DEX文件分区特性的Android恶意软件家族分类方法 | |
CN111046388A (zh) | 识别应用中第三方sdk的方法、智能终端及储存介质 | |
US20050289132A1 (en) | Method and system for converting encoding character set | |
CN111045530B (zh) | 嵌入式条码识读设备模拟多国语言键盘输出的方法及设备 | |
CN103716127A (zh) | 一种基于ttcn-3的压缩编解码的方法和系统 | |
Wang et al. | Research on intelligent reverse analysis technology of firmware of internet of things | |
CN114611500A (zh) | 表达式处理方法、装置、电子设备及计算机可读存储介质 | |
CN1972330A (zh) | 通过输入姓名的前三个汉字的首字母查找名片的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210319 |