CN109542507A - 一种基于教育系统的gbk编码处理方法及电子设备 - Google Patents

一种基于教育系统的gbk编码处理方法及电子设备 Download PDF

Info

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
Application number
CN201811259328.XA
Other languages
English (en)
Inventor
李天驰
孙悦
邱恒斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Dianmao Technology Co Ltd
Original Assignee
Shenzhen Dianmao Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Dianmao Technology Co Ltd filed Critical Shenzhen Dianmao Technology Co Ltd
Priority to CN201811259328.XA priority Critical patent/CN109542507A/zh
Publication of CN109542507A publication Critical patent/CN109542507A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation

Abstract

本发明公开了一种基于教育系统的GBK编码处理方法及电子设备,其中,所述方法包括步骤:A.在Node.js中安装第三方模块;B.文件处理过程中,获取文件类型;C.判断文件中是否包含GBK或GB2312格式的页面/文件;D.通过第三方模块对GBK或GB2312格式的页面/文件进行编码并保存,本发明所述方案,能够解决文件乱码问题,提高了工作效率。

Description

一种基于教育系统的GBK编码处理方法及电子设备
技术领域
本发明涉及程序应用领域,尤其涉及一种基于教育系统的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所述的电子设备,其特征在于,所述处理器还用于加载并执行:
从浏览器中下载文件,打开文件,验证文件中的中文编码,乱码则报错并重新进行编码。
CN201811259328.XA 2018-10-26 2018-10-26 一种基于教育系统的gbk编码处理方法及电子设备 Pending CN109542507A (zh)

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)

* Cited by examiner, † Cited by third party
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文件及字节流的编码格式的判断方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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