本发明涉及程序应用领域,尤其涉及一种基于教育系统的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编码处理方法,其中,在命令行中输入npminstalliconv-lite--save,安装并保存iconv-liteiconv-lite。
所述的教育系统的gbk编码处理方法,其中,所述步骤d中包括:
对于包含gbk或gb2312格式的页面/文件,通过node中的fs模块,使用fscreatereadstream创建可读流;
使用fs的管道,连续pipe转化,先encodegbk编码,再encodeutf8编码;
继续使用pipe,创建一个可写流,把转码后的文件保存到文本文档中。
所述的教育系统的gbk编码处理方法,其中,所述步骤d之后还包括:
从浏览器中下载文件,打开文件,验证文件中的中文编码,乱码则报错并重新进行编码。
一种电子设备,其中,包括:
包括处理器,适于实现各指令,以及
存储设备,适于存储多条指令,所述指令适于由处理器加载并执行:
在node.js中安装第三方模块;
文件处理过程中,获取文件类型;
判断文件中是否包含gbk或gb2312格式的页面/文件;
通过第三方模块对gbk或gb2312格式的页面/文件进行编码并保存。
所述的电子设备,其中,所述第三方模块为iconv-lite。
所述的电子设备,其中,所述处理器还用于加载并执行用户在命令行中输入npminstalliconv-lite--save的指令,安装并保存iconv-liteiconv-lite
所述的电子设备,其中,所述处理器还用于加载并执行:
对于包含gbk或gb2312格式的页面/文件,通过node中的fs模块,使用fscreatereadstream创建可读流;
使用fs的管道,连续pipe转化,先encodegbk编码,再encodeutf8编码;
继续使用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编码处理方法,其中,在命令行中输入npminstalliconv-lite--save,安装并保存iconv-liteiconv-lite。
进一步的,所述的教育系统的gbk编码处理方法,其中,所述步骤d中包括:
对于包含gbk或gb2312格式的页面/文件,通过node中的fs模块,使用fscreatereadstream创建可读流;
使用fs的管道,连续pipe转化,先encodegbk编码,再encodeutf8编码;
继续使用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,在命令行中输入【npminstalliconv-lite--save】来安装并保存iconv-liteiconv-lite解决中文乱码。
在处理文件的时候,需要用到fs模块,即node.js中的filesystem模块,它提供了很多方法以供调用,如: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(acornriscmachine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器还可以是任何传统处理器、微处理器或状态机。处理器也可以被实现为计算设备的组合,例如,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,在命令行中输入【npminstalliconv-lite--save】来安装并保存iconv-liteiconv-lite解决中文乱码。
在处理文件的时候,需要用到fs模块,即node.js中的filesystem模块,它提供了很多方法以供调用,如:createreadstream创建可读流来处理文件,使用encode、decode来对文件的进行编码、解码。
解决效果1、转换成utf-8,可解决大部分的文件编码问题,通过iconv-lite对文件编码进行转化和处理,解决了乱码问题。
2、在文件上传、文件下载、文件预览等功能处,需要使用该功能特性。
3、进一步的,所述的电子设备,其中,所述第三方模块为iconv-lite。
所述的电子设备,其中,所述处理器110还用于加载并执行用户在命令行中输入npminstalliconv-lite--save的指令,安装并保存iconv-liteiconv-lite
进一步的,所述的电子设备,其中,所述处理器110还用于加载并执行:
对于包含gbk或gb2312格式的页面/文件,通过node中的fs模块,使用fscreatereadstream创建可读流;
使用fs的管道,连续pipe转化,先encodegbk编码,再encodeutf8编码;
继续使用pipe,创建一个可写流,把转码后的文件保存到文本文档中。
进一步的,所述的电子设备,其中,所述处理器110还用于加载并执行:
从浏览器中下载文件,打开文件,验证文件中的中文编码,乱码则报错并重新进行编码。
综上所述,本发明公开了一种基于教育系统的gbk编码处理方法及电子设备,其中,所述方法包括步骤:a.在node.js中安装第三方模块;b.文件处理过程中,获取文件类型;c.判断文件中是否包含gbk或gb2312格式的页面/文件;d.通过第三方模块对gbk或gb2312格式的页面/文件进行编码并保存,本发明所述方案,能够解决文件乱码问题,提高了工作效率。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。