CN109542507A - 一种基于教育系统的gbk编码处理方法及电子设备 - Google Patents
一种基于教育系统的gbk编码处理方法及电子设备 Download PDFInfo
- Publication number
- CN109542507A CN109542507A CN201811259328.XA CN201811259328A CN109542507A CN 109542507 A CN109542507 A CN 109542507A CN 201811259328 A CN201811259328 A CN 201811259328A CN 109542507 A CN109542507 A CN 109542507A
- Authority
- CN
- China
- Prior art keywords
- file
- gbk
- module
- iconv
- lite
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
Abstract
本发明公开了一种基于教育系统的GBK编码处理方法及电子设备,其中,所述方法包括步骤:A.在Node.js中安装第三方模块;B.文件处理过程中,获取文件类型;C.判断文件中是否包含GBK或GB2312格式的页面/文件;D.通过第三方模块对GBK或GB2312格式的页面/文件进行编码并保存,本发明所述方案,能够解决文件乱码问题,提高了工作效率。
Description
技术领域
本发明涉及程序应用领域,尤其涉及一种基于教育系统的GBK编码处理方法及电子设备。
背景技术
由于不同操作系统的问题,不同文件的问题,服务器的文件会出现GBK、GB2312等编码,处理GBK或者GB2312的页面/文件我们就需要转码,否则就会出现乱码、无法阅读。node.js当中的Buffer对象支持的编码格式的种类有限,大概有ascii、utf8、utf16le、ucs2、base64、binary、hex。不支持GBK的编码形式。对于windows系统来说,许多文件默认的编码格式均为GBK。例如,在Mac上下载excel文件时,就容易出现乱码问题。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种基于教育系统的GBK编码处理方法及电子设备,旨在解决服务器文件编码问题。
本发明的技术方案如下:
一种基于教育系统的GBK编码处理方法,其中,包括步骤:
A.在Node.js中安装第三方模块;
B.文件处理过程中,获取文件类型;
C.判断文件中是否包含GBK或GB2312格式的页面/文件;
D.通过第三方模块对GBK或GB2312格式的页面/文件进行编码并保存。
所述的教育系统的GBK编码处理方法,其中,所述步骤A中:第三方模块为iconv-lite。
所述的教育系统的GBK编码处理方法,其中,在命令行中输入npm install iconv-lite--save,安装并保存iconv-liteiconv-lite。
所述的教育系统的GBK编码处理方法,其中,所述步骤D中包括:
对于包含GBK或GB2312格式的页面/文件,通过node中的fs模块,使用fscreateReadStream创建可读流;
使用fs的管道,连续pipe转化,先encode gbk编码,再encode utf8编码;
继续使用pipe,创建一个可写流,把转码后的文件保存到文本文档中。
所述的教育系统的GBK编码处理方法,其中,所述步骤D之后还包括:
从浏览器中下载文件,打开文件,验证文件中的中文编码,乱码则报错并重新进行编码。
一种电子设备,其中,包括:
包括处理器,适于实现各指令,以及
存储设备,适于存储多条指令,所述指令适于由处理器加载并执行:
在Node.js中安装第三方模块;
文件处理过程中,获取文件类型;
判断文件中是否包含GBK或GB2312格式的页面/文件;
通过第三方模块对GBK或GB2312格式的页面/文件进行编码并保存。
所述的电子设备,其中,所述第三方模块为iconv-lite。
所述的电子设备,其中,所述处理器还用于加载并执行用户在命令行中输入npminstall iconv-lite--save的指令,安装并保存iconv-liteiconv-lite
所述的电子设备,其中,所述处理器还用于加载并执行:
对于包含GBK或GB2312格式的页面/文件,通过node中的fs模块,使用fscreateReadStream创建可读流;
使用fs的管道,连续pipe转化,先encode gbk编码,再encode utf8编码;
继续使用pipe,创建一个可写流,把转码后的文件保存到文本文档中。
所述的电子设备,其中,所述处理器还用于加载并执行:
从浏览器中下载文件,打开文件,验证文件中的中文编码,乱码则报错并重新进行编码。
有益效果:本发明公开了一种基于教育系统的GBK编码处理方法及电子设备,其中,所述方法包括步骤:A.在Node.js中安装第三方模块;B.文件处理过程中,获取文件类型;C.判断文件中是否包含GBK或GB2312格式的页面/文件;D.通过第三方模块对GBK或GB2312格式的页面/文件进行编码并保存,本发明所述方案,能够解决文件乱码问题,提高了工作效率。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明所述基于教育系统的GBK编码处理方法的步骤流程图。
图2为本发明所述电子设备的结构示意图。
具体实施方式
本发明提供一种基于教育系统的GBK编码处理方法及电子设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,为本发明所述方法的步骤流程图,本发明公开了一种基于教育系统的GBK编码处理方法,其中,包括步骤:
S1.在Node.js中安装第三方模块;
S2.文件处理过程中,获取文件类型;
S3.判断文件中是否包含GBK或GB2312格式的页面/文件;
S4.通过第三方模块对GBK或GB2312格式的页面/文件进行编码并保存。
进一步的,所述的教育系统的GBK编码处理方法,其中,所述步骤S1中:第三方模块为iconv-lite。
进一步的,所述的教育系统的GBK编码处理方法,其中,在命令行中输入npminstall iconv-lite--save,安装并保存iconv-liteiconv-lite。
进一步的,所述的教育系统的GBK编码处理方法,其中,所述步骤D中包括:
对于包含GBK或GB2312格式的页面/文件,通过node中的fs模块,使用fscreateReadStream创建可读流;
使用fs的管道,连续pipe转化,先encode gbk编码,再encode utf8编码;
继续使用pipe,创建一个可写流,把转码后的文件保存到文本文档中。
进一步的,所述的教育系统的GBK编码处理方法,其中,所述步骤D之后还包括:
从浏览器中下载文件,打开文件,验证文件中的中文编码,乱码则报错并重新进行编码。
本发明为了解决现有技术中由于不同操作系统的问题,不同文件的问题,服务器的文件会出现GBK、GB2312等编码,处理GBK或者Gb2312的页面/文件我们就需要转码,否则就会出现乱码、无法阅读。node.js当中的Buffer对象支持的编码格式的种类有限,大概有ascii、utf8、utf16le、ucs2、base64、binary、hex。不支持GBK的编码形式。对于windows系统来说,许多文件默认的编码格式均为GBK。例如,在Mac上下载excel文件时,就容易出现乱码问题。
解决方案具体如下:
使用iconv-lite解决中文乱码,iconv-lite用于在node当中处理在各种操作系统出现的各种奇特编码,该模块不提供读写文件的操作,只提供文件编码转换的功能。
在Node.js中,使用第三方模块iconv-lite解决中文乱码,首先需要在一个Node.js项目中安装iconv-lite,在命令行中输入【npm install iconv-lite--save】来安装并保存iconv-liteiconv-lite解决中文乱码。
在处理文件的时候,需要用到fs模块,即Node.js中的file system模块,它提供了很多方法以供调用,如:createReadStream创建可读流来处理文件,使用encode、decode来对文件的进行编码、解码。
解决效果1、转换成utf-8,可解决大部分的文件编码问题,通过iconv-lite对文件编码进行转化和处理,解决了乱码问题。
2、在文件上传、文件下载、文件预览等功能处,需要使用该功能特性。
进一步的,本发明还公开了一种电子设备10,如图2所示,为所述电子设备的结构示意图,其中,包括:
包括处理器110,适于实现各指令,以及
存储设备120,适于存储多条指令,所述指令适于由处理器110加载并执行:
在Node.js中安装第三方模块;
文件处理过程中,获取文件类型;
判断文件中是否包含GBK或GB2312格式的页面/文件;
通过第三方模块对GBK或GB2312格式的页面/文件进行编码并保存。
所述处理器110可以为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISC Machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器还可以是任何传统处理器、微处理器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核、任何其它这种配置。
存储设备120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的教育互动方法对应的程序指令。处理器通过运行存储在存储设备中的非易失性软件程序、指令以及单元,从而执行教育互动方法的各种功能应用以及数据处理,即实现上述方法实施例。
本发明为了解决现有技术中由于不同操作系统的问题,不同文件的问题,服务器的文件会出现GBK、GB2312等编码,处理GBK或者Gb2312的页面/文件我们就需要转码,否则就会出现乱码、无法阅读。node.js当中的Buffer对象支持的编码格式的种类有限,大概有ascii、utf8、utf16le、ucs2、base64、binary、hex。不支持GBK的编码形式。对于windows系统来说,许多文件默认的编码格式均为GBK。例如,在Mac上下载excel文件时,就容易出现乱码问题。
解决方案具体如下:
使用iconv-lite解决中文乱码,iconv-lite用于在node当中处理在各种操作系统出现的各种奇特编码,该模块不提供读写文件的操作,只提供文件编码转换的功能。
在Node.js中,使用第三方模块iconv-lite解决中文乱码,首先需要在一个Node.js项目中安装iconv-lite,在命令行中输入【npm install iconv-lite--save】来安装并保存iconv-liteiconv-lite解决中文乱码。
在处理文件的时候,需要用到fs模块,即Node.js中的file system模块,它提供了很多方法以供调用,如:createReadStream创建可读流来处理文件,使用encode、decode来对文件的进行编码、解码。
解决效果1、转换成utf-8,可解决大部分的文件编码问题,通过iconv-lite对文件编码进行转化和处理,解决了乱码问题。
2、在文件上传、文件下载、文件预览等功能处,需要使用该功能特性。
3、进一步的,所述的电子设备,其中,所述第三方模块为iconv-lite。
所述的电子设备,其中,所述处理器110还用于加载并执行用户在命令行中输入npm install iconv-lite--save的指令,安装并保存iconv-liteiconv-lite
进一步的,所述的电子设备,其中,所述处理器110还用于加载并执行:
对于包含GBK或GB2312格式的页面/文件,通过node中的fs模块,使用fscreateReadStream创建可读流;
使用fs的管道,连续pipe转化,先encode gbk编码,再encode utf8编码;
继续使用pipe,创建一个可写流,把转码后的文件保存到文本文档中。
进一步的,所述的电子设备,其中,所述处理器110还用于加载并执行:
从浏览器中下载文件,打开文件,验证文件中的中文编码,乱码则报错并重新进行编码。
综上所述,本发明公开了一种基于教育系统的GBK编码处理方法及电子设备,其中,所述方法包括步骤:A.在Node.js中安装第三方模块;B.文件处理过程中,获取文件类型;C.判断文件中是否包含GBK或GB2312格式的页面/文件;D.通过第三方模块对GBK或GB2312格式的页面/文件进行编码并保存,本发明所述方案,能够解决文件乱码问题,提高了工作效率。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种基于教育系统的GBK编码处理方法,其特征在于,包括步骤:
A.在Node.js中安装第三方模块;
B.文件处理过程中,获取文件类型;
C.判断文件中是否包含GBK或GB2312格式的页面/文件;
D.通过第三方模块对GBK或GB2312格式的页面/文件进行编码并保存。
2.根据权利要求1所述的教育系统的GBK编码处理方法,其特征在于,所述步骤A中:第三方模块为iconv-lite。
3.根据权利要求2所述的教育系统的GBK编码处理方法,其特征在于,在命令行中输入npm install iconv-lite--save,安装并保存iconv-liteiconv-lite。
4.根据权利要求3所述的教育系统的GBK编码处理方法,其特征在于,所述步骤D中包括:
对于包含GBK或GB2312格式的页面/文件,通过node中的fs模块,使用fscreateReadStream创建可读流;
使用fs的管道,连续pipe转化,先encode gbk编码,再encode utf8编码;
继续使用pipe,创建一个可写流,把转码后的文件保存到文本文档中。
5.根据权利要求4所述的教育系统的GBK编码处理方法,其特征在于,所述步骤D之后还包括:
从浏览器中下载文件,打开文件,验证文件中的中文编码,乱码则报错并重新进行编码。
6.一种电子设备,其特征在于,包括:
包括处理器,适于实现各指令,以及
存储设备,适于存储多条指令,所述指令适于由处理器加载并执行:
在Node.js中安装第三方模块;
文件处理过程中,获取文件类型;
判断文件中是否包含GBK或GB2312格式的页面/文件;
通过第三方模块对GBK或GB2312格式的页面/文件进行编码并保存。
7.根据权利要求6所述的电子设备,其特征在于,所述第三方模块为iconv-lite。
8.根据权利要求7所述的电子设备,其特征在于,所述处理器还用于加载并执行用户在命令行中输入npm install iconv-lite--save的指令,安装并保存iconv-liteiconv-lite。
9.根据权利要求8所述的电子设备,其特征在于,所述处理器还用于加载并执行:
对于包含GBK或GB2312格式的页面/文件,通过node中的fs模块,使用fscreateReadStream创建可读流;
使用fs的管道,连续pipe转化,先encode gbk编码,再encode utf8编码;
继续使用pipe,创建一个可写流,把转码后的文件保存到文本文档中。
10.根据权利要求9所述的电子设备,其特征在于,所述处理器还用于加载并执行:
从浏览器中下载文件,打开文件,验证文件中的中文编码,乱码则报错并重新进行编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811259328.XA CN109542507A (zh) | 2018-10-26 | 2018-10-26 | 一种基于教育系统的gbk编码处理方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811259328.XA CN109542507A (zh) | 2018-10-26 | 2018-10-26 | 一种基于教育系统的gbk编码处理方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109542507A true CN109542507A (zh) | 2019-03-29 |
Family
ID=65845824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811259328.XA Pending CN109542507A (zh) | 2018-10-26 | 2018-10-26 | 一种基于教育系统的gbk编码处理方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109542507A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010047429A1 (en) * | 1999-02-26 | 2001-11-29 | I-Dns.Net International, Inc. | Multi-language domain name service |
CN1510569A (zh) * | 2002-12-23 | 2004-07-07 | 华为技术有限公司 | 一种源代码中硬编码字符串的提取和集中方法 |
CN103986756A (zh) * | 2014-05-12 | 2014-08-13 | 浪潮电子信息产业股份有限公司 | Ftp服务访问集群存储系统中文乱码问题解决方法 |
CN104572102A (zh) * | 2015-01-08 | 2015-04-29 | 浪潮软件集团有限公司 | Java中的中文乱码解决方法 |
CN105224509A (zh) * | 2014-05-30 | 2016-01-06 | 北大方正集团有限公司 | 一种生成字体格式的方法及装置 |
CN106598575A (zh) * | 2016-11-30 | 2017-04-26 | 武汉斗鱼网络科技有限公司 | 一种前端数据模拟的实现方法及系统 |
CN106598689A (zh) * | 2016-12-20 | 2017-04-26 | 绿金在线电子商务有限公司 | 一种中文通用编码方法 |
CN106775909A (zh) * | 2016-11-22 | 2017-05-31 | 中国银行股份有限公司 | 一种java文件及字节流的编码格式的判断方法及装置 |
-
2018
- 2018-10-26 CN CN201811259328.XA patent/CN109542507A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010047429A1 (en) * | 1999-02-26 | 2001-11-29 | I-Dns.Net International, Inc. | Multi-language domain name service |
CN1510569A (zh) * | 2002-12-23 | 2004-07-07 | 华为技术有限公司 | 一种源代码中硬编码字符串的提取和集中方法 |
CN103986756A (zh) * | 2014-05-12 | 2014-08-13 | 浪潮电子信息产业股份有限公司 | Ftp服务访问集群存储系统中文乱码问题解决方法 |
CN105224509A (zh) * | 2014-05-30 | 2016-01-06 | 北大方正集团有限公司 | 一种生成字体格式的方法及装置 |
CN104572102A (zh) * | 2015-01-08 | 2015-04-29 | 浪潮软件集团有限公司 | Java中的中文乱码解决方法 |
CN106775909A (zh) * | 2016-11-22 | 2017-05-31 | 中国银行股份有限公司 | 一种java文件及字节流的编码格式的判断方法及装置 |
CN106598575A (zh) * | 2016-11-30 | 2017-04-26 | 武汉斗鱼网络科技有限公司 | 一种前端数据模拟的实现方法及系统 |
CN106598689A (zh) * | 2016-12-20 | 2017-04-26 | 绿金在线电子商务有限公司 | 一种中文通用编码方法 |
Non-Patent Citations (1)
Title |
---|
佚名: "Node.js npm iconv-lite", 《HTTP://WWW.VOIDCN.COM/ARTICLE/P-OHIHWLRQ-BDX.HTML》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108845816B (zh) | 应用程序更新方法、系统、计算机设备及存储介质 | |
CN107766900A (zh) | 一种打印条码的方法、系统及自动化工具 | |
CN111342982B (zh) | 一种集成多种消息发送的方法及系统 | |
CN104090862A (zh) | 一种基于lnmp的网盘多类型文件在线预览方法 | |
CN109547533A (zh) | 一种教育系统的html5移动端图片上传预处理方法及电子设备 | |
CN108363588B (zh) | 实现web与原生功能交互的方法、电子装置及可读存储介质 | |
CN110780860A (zh) | 建表脚本的生成方法、装置、计算机设备及存储介质 | |
CN109445773A (zh) | 一种基于编程语言提升浏览器性能的方法以及电子设备 | |
CN109062906B (zh) | 程序语言资源的翻译方法及装置 | |
CN112667480A (zh) | 业务数据的动态监控方法、装置、电子设备及存储介质 | |
CN110955540B (zh) | 插件交互方法 | |
CN109379083A (zh) | 基于教育系统的base64编码转换方法及电子设备 | |
CN109542507A (zh) | 一种基于教育系统的gbk编码处理方法及电子设备 | |
CN110020343B (zh) | 网页编码格式的确定方法和装置 | |
CN112911024A (zh) | 一种物联网数据采集的方法、系统、电子装置和存储介质 | |
CN109522507B (zh) | 一种网页组件统一管理的方法 | |
CN102629200A (zh) | 一种Web系统可离线使用的处理方法 | |
CN103838575A (zh) | 一种基于extjs框架的插件式页面定制实现方法 | |
US20070271251A1 (en) | Method and system for transferring data between MIME attachments and relational databases | |
CN107368557B (zh) | 页面编辑方法及装置 | |
CN105550339A (zh) | 一种在线预览文档的方法、装置和系统 | |
CN114218175A (zh) | 一种资源跨平台共享方法、装置、终端设备及存储介质 | |
CN102929559B (zh) | 一种提供文件的方法及文件提供系统 | |
CN102880689B (zh) | 一种在web应用中快速便捷地展示office文件内容的方法 | |
CN107943539B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190329 |