CN111026375A - 项目打包方法、装置及设备 - Google Patents
项目打包方法、装置及设备 Download PDFInfo
- Publication number
- CN111026375A CN111026375A CN201910989814.5A CN201910989814A CN111026375A CN 111026375 A CN111026375 A CN 111026375A CN 201910989814 A CN201910989814 A CN 201910989814A CN 111026375 A CN111026375 A CN 111026375A
- Authority
- CN
- China
- Prior art keywords
- data
- item
- binary data
- characters
- encoding
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- 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/71—Version control; Configuration management
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/02—Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
- H03M7/04—Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being two
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开关于一种项目打包方法、装置及设备,并具体公开了:判断待打包项目中二进制数据的数据量是否为24位的整数倍;若判断结果为否,则按位对二进制数据进行删除,得到目标二进制数据;其中,目标二进制数据的数据量为24位的整数倍;对目标二进制数据进行base64编码,得到第一编码数据;对包含有第一编码数据的待打包项目进行页面压缩。
Description
技术领域
本公开涉及软件开发技术领域,尤其涉及一种项目打包方法、装置及设备。
背景技术
目前,在对webpack项目进行打包时,为了减少打包后的数据量,可以先对webpack项目中的数据进行页面压缩,并在页面压缩成功后进行打包。由于在对webpack项目中的数据进行页面压缩时,通常可以对字符格式的数据进行页面压缩,而无法对二进制格式的数据进行页面压缩,因此,当webpack项目中存在二进制格式的数据时,会导致页面压缩失败。
发明内容
本公开提供一种项目打包方法、装置及设备,以至少解决相关技术中因webpack项目中包含二进制格式的数据而导致的对webpack项目中的数据进行页面压缩时压缩失败的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种项目打包方法,包括:
判断待打包项目中二进制数据的数据量是否为24位的整数倍;
若判断结果为否,则按位对所述二进制数据进行删除,得到目标二进制数据;其中,所述目标二进制数据的数据量为24位的整数倍;
对所述目标二进制数据进行base64编码,得到第一编码数据;
对包含有所述第一编码数据的待打包项目中的数据进行页面压缩。
在一种可能实现方式中,所述按位对所述二进制数据进行删除,包括:
根据从后往前的顺序,按位对所述二进制数据进行删除。
在一种可能实现方式中,所述二进制数据为被执行过压缩处理且被压缩处理后的数据量小于预设值的图片数据。
根据本公开实施例的第二方面,提供一种项目打包方法,包括:
对待打包项目中的二进制数据进行base64编码,得到第二编码数据;
判断所述第二编码数据最后4个字符中是否包含指定字符;
若判断结果为是,则对所述第二编码数据的最后4个字符,或所述最后4个字符中的指定字符进行删除,得到目标编码数据;
对包含有所述目标编码数据的待打包项目中的数据进行页面压缩。
在一种可能实现方式中,所述二进制数据为被执行过压缩处理且被压缩处理后的数据量小于预设值的图片数据。
在一种可能实现方式中,所述指定字符为:=。
根据本公开实施例的第三方面,提供一种项目打包装置,包括:
第一判断单元,被配置为执行判断待打包项目中二进制数据的数据量是否为24位的整数倍;
第一删除单元,被配置为执行若判断结果为否,则按位对所述二进制数据进行删除,得到目标二进制数据;其中,所述目标二进制数据的数据量为24位的整数倍;
第一编码单元,被配置为执行对所述目标二进制数据进行base64编码,得到第一编码数据;
第一压缩单元,被配置为执行对包含有所述第一编码数据的待打包项目中的数据进行页面压缩。
根据本公开实施例的第四方面,提供另一种项目打包装置,包括:
第二编码单元,被配置为执行对待打包项目中的二进制数据进行base64编码,得到第二编码数据;
第二判断单元,被配置为执行判断所述第二编码数据最后4个字符中是否包含指定字符;
第二删除单元,被配置为执行若判断结果为是,则对所述第二编码数据的最后4个字符,或所述最后4个字符中的指定字符进行删除,得到目标编码数据;
第二压缩单元,被配置为执行对包含有所述目标编码数据的待打包项目中的数据进行页面压缩。
根据本公开实施例的第五方面,提供一种项目打包设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述第一方面中任一项项目打包方法步骤或第二方面中任一项项目打包方法步骤。
根据本公开实施例的第六方面,提供一种计算机程序产品,包括:
当其在设备上运行时,使得项目打包设备执行:上述第一方面中任一项项目打包方法步骤或第二方面中任一项项目打包方法步骤。
本公开的实施例提供的技术方案至少带来以下有益效果:
在本实施例中,可以先将待打包项目中的二进制数据通过base64编码转换为字符数据,然后,再对待打包项目中的字符数据进行页面压缩。由于已经将待打包项目中的二进制数据转换为可以进行页面压缩的字符数据,因此,可以有效解决相关技术中因待打包项目中包含二进制数据而导致的对待打包项目中的数据进行页面压缩时压缩失败的问题。
此外,本实施例还可以在将待打包项目中的二进制数据转换为字符数据之前,判断待打包项目中的二进制数据的数据量是否为24位的整数倍,并在判断结果为否的情况下,按位对二进制数据进行删除,以使得二进制数据的数据量为24位的整数倍。由此可知,本实施例可以在将待打包项目中的二进制数据转换为字符数据之前,确保二进制数据的数据量为24位的整数倍,从而使得后续在对二进制数据进行base64编码时不会因数据量不为24位的整数倍而被添加指定字符。由于不会在base64编码时被添加指定字符,因此,也可以有效避免待打包项目在后续被处理时因被添加了指定字符而导致的处理失败的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种项目打包方法的流程图。
图2是根据一示例性实施例示出的另一种项目打包方法的流程图。
图3是根据一示例性实施例示出的一种项目打包装置的框图。
图4是根据一示例性实施例示出的另一种项目打包装置的框图。
图5是根据一示例性实施例示出的一种项目打包设备的硬件结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种项目打包方法的流程图,如图1所示,项目打包方法用于打包设备中,包括以下步骤。
在步骤S11中,判断待打包项目中二进制数据的数据量是否为24位的整数倍。
在步骤S12中,若判断结果为否,则按位对二进制数据进行删除,得到目标二进制数据;其中,目标二进制数据的数据量为24位的整数倍。
在步骤S13中,对目标二进制数据进行base64编码,得到第一编码数据。
在步骤S14中,对包含有第一编码数据的待打包项目中的数据进行页面压缩。
在本公开示出的实施例中,打包设备在获取到待打包项目后,可以获取待打包项目中的二进制数据,并判断获取到的二进制数据的数据量是否为24位的整数倍。
在一个示例中,待打包项目中的二进制数据可以为被执行过压缩处理且被压缩处理后的数据量小于预设的值的图片数据。
具体地,待打包项目中可以包括二进制格式的图片数据,则在打包设备判断图片数据的数据量是否为24位的整数倍之前,可以先对图片数据进行压缩。其中,该压缩过程可以由打包设备来完成,也可以由其他设备来完成,本示例对此不做限制。在待打包项目中的图片数据被压缩后,可以进一步判断压缩后的图片数据的数据量是否小于预设值(该预设值可以是相关人员预先设置的)。其中,该判断过程可以由打包设备来完成,也可以由其他设备来完成,本示例对此同样不做限制。若该判断过程对应的判断结果为是,则打包设备可以判断压缩后的图片数据的数据量是否为24位的整数倍。
由上述内容可知,本示例中,当待打包项目中压缩后的图片数据的数据量较小时,可以将图片数据本身而非图片数据对应的存储地址添加至待打包项目中。由于待打包项目中包含了图片数据本身而非图片数据对应的存储地址,因此,当其他设备使用该待打包项目时,可以从该待打包项目中直接获取图片数据,而不用再根据图片数据对应的存储地址发送用于获取该图片数据的页面请求,从而可以有效降低压面请求数。
在判断待打包项目中二进制数据的数据量是否为24位的整数倍时,若判断结果为否,则打包设备可以按位对二进制数据进行删除,得到目标二进制数据,其中,目标二进制数据的数据量为24位的整数倍。
在一个示例中,在按位对二进制数据进行删除时,可以根据从后往前的顺序按位对二进制数据进行删除。
例如,待打包项目中的二进制数据可以为:1010110110111010011101101010110110111010,由此可知,待打包项目中的二进制数据的数量为40位,则此时,打包设备可以将根据从后往前的顺序按位对二进制数据进行删除,即打包设备可以删除该二进制数据的后16位,并将删除后16位数据之后的二进制数据101011011011101001110110确定为目标二进制数据。
由上述示例可知,打包设备在按位对二进制数据进行删除时,可以根据从后往前的顺序按位对二进制数据进行删除。由于设备在使用打包项目中的数据时,通常不会按照从后往前的顺序来解析和使用数据,因此,根据从后往前的顺序来按位删除二进制数据可以最大限度的保证该待打包项目的数据不受影响,确保二进制数据后续可以被正常地使用。
在按位对二进制数据进行删除并得到目标二进制数据后,打包设备可以对目标二进制数据进行base64编码,得到第一编码数据。其中,base64编码可以用于将二进制数据转换为字符数据,因此,第一编码数据可以为字符格式的数据。
其中,在对二进制数据进行base64编码时,若二进制数据的数据量不为24位的整数倍,则在对二进制数据进行base64编码后,得到的编码数据中会包含字符=。
例如,二进制数据可以为1010110110111010011101101010110110111010,由此可知,该二进制数据的数量为40位,则在对该二进制数据进行base64编码时,可以先将前面的3*8位即24位数据转换为4*6位的二进制数据并转换为对应的字符数据,然后,将剩余的16位通过补0补到18位,并在转换为对应的字符数据后,补上一个等号。
具体地,可以先将该二进制数据的前24位数据101011011011101001110110通过Base64编码转换为00101011,00011011,00101001,00110110,此时,编码后的十进制形式可以为43,27,41,54,对应Base64编码转换表中的值r,b,p,2。由此可知,该二进制数据的前24位数据在经过base64转码后,可以转换为字符数据rbp2。
在对该二进制数据的前24位数据进行转换后,可以对该二进制数据的后16位数据1010110110111010进行转换。其中,在转换时,可以先在后16位数据的尾部补0补到18位,得到101011011011101000,然后,将该18位数据通过Base64编码转换后为00101011,00011011,00101000,相应的,编码后的十进制形式可以为43,27,40,对应Base64编码转换表中的值r,b,o。此时,可以在编码后的值的尾部补上一个等号,即该二进制数据的后16位数据在经过base64转码后,可以转换为字符数据rbo=。
由于待打包项目中的目标二进制数据的数据量为24位的倍数,因此,在对待打包项目中的目标二进制数据进行base64编码后,得到的第一编码数据中不会包含字符=。
在得到第一编码数据后,打包设备可以对包含有第一编码数据的待打包项目中的数据进行页面压缩,以进一步减少打包后的数据的数据量。
打包设备在对待打包项目中的数据进行页面压缩时,通常是根据预设格式来对待打包项目中的数据进行页面压缩,其中,预设格式可以为:X=“Y”(X、Y可以为一个或多个字符),例如,可以根据预设格式对待打包项目中的数据:name=“referrer”进行页面压缩。若待打包项目中的数据中包括字符=,则打包设备在对待打包项目中的数据进行页面压缩时,将会因检测到了字符=,却没有检测到与之相邻的“,而导致页面压缩失败。但是,由于本实施例已通过前面的步骤在一定程度上避免了待打包文件中出现仅出现字符=,因此,在一定程度上避免了页面压缩失败这一情况的出现。
由本公开示出的实施例可知,本实施例中,可以先将待打包项目中的二进制数据通过base64编码转换为字符数据,然后,再对待打包项目中的字符数据进行页面压缩。由于已经将待打包项目中的二进制数据转换为可以进行页面压缩的字符数据,因此,可以有效解决相关技术中因待打包项目中包含二进制数据而导致的对待打包项目中的数据进行页面压缩时压缩失败的问题。
此外,本实施例还可以在将待打包项目中的二进制数据转换为字符数据之前,判断待打包项目中的二进制数据的数据量是否为24位的整数倍,并在判断结果为否的情况下,按位对二进制数据进行删除,以使得二进制数据的数据量为24位的整数倍。由此可知,本实施例可以在将待打包项目中的二进制数据转换为字符数据之前,确保二进制数据的数据量为24位的整数倍,从而使得后续在对二进制数据进行base64编码时不会因数据量不为24位的整数倍而被添加指定字符。由于不会在base64编码时被添加指定字符,因此,也可以有效避免待打包项目在后续被处理时因被添加了指定字符而导致的处理失败的问题。
图2是根据一示例性实施例示出的另一种项目打包方法的流程图,如图2所示,项目打包方法用于打包设备中,包括以下步骤。
在步骤S21中,对待打包项目中的二进制数据进行base64编码,得到第二编码数据。
在步骤S22中,判断第二编码数据最后4个字符中是否包含指定字符。
在步骤S23中,若判断结果为是,则对第二编码数据的最后4个字符,或最后4个字符中的指定字符进行删除,得到目标编码数据。
在步骤S24中,对包含有目标编码数据的待打包项目中的数据进行页面压缩。
在本公开示出的实施例中,打包设备在获取到待打包项目后,可以获取待打包项目中的二进制数据,并对待打包项目中的二进制数据进行base64编码,得到第二编码数据。
在一个示例中,待打包项目中的二进制数据可以为被执行过压缩处理且被压缩处理后的数据量小于预设的值的图片数据。
具体地,待打包项目中可以包括二进制格式的图片数据,则在打包设备对二进制数据进行base64编码之前,可以先对图片数据进行压缩。其中,该压缩过程可以由打包设备来完成,也可以由其他设备来完成,本示例对此不做限制。在待打包项目中的图片数据被压缩后,可以进一步判断压缩后的图片数据的数据量是否小于预设值(该预设值可以是相关人员预先设置的)。其中,该判断过程可以由打包设备来完成,也可以由其他设备来完成,本示例对此同样不做限制。
由于对待打包项目中的二进制数据进行base64编码的过程已在上一实施例中详述,故本实施例在此不再赘述。
在得到第二编码数据后,可以判断第二编码数据最后4个字符中是否包含指定字符,其中,指定字符可以为:=。
由上一实施例可知,在对待打包项目中的二进制数据进行base64编码时,若二进制数据的数据量不为24位的整数倍,则对二进制数据进行base64编码后得到的编码数据的最后4个字符中会包含指定字符=。
在本实施例中,若第二编码数据最后4个数据中包含指定字符,则可以对第二编码数据的最后4个字符或最后4个字符中的指定字符进行删除,以得到目标编码数据。
例如,第二编码数据可以为:rbp2rbo=,由于第二编码数据的最后4个数据中包含指定字符=,因此,可以对第二编码数据的最后4个字符或最后4个字符中的字符=进行删除,得到目标编码数据rbp2或rbp2rbo。
在得到目标编码数据后,可以对包含有目标编码数据的待打包项目进行页面压缩。
由本公开示出的实施例可知,本实施例中,可以先将待打包项目中的二进制数据通过base64编码转换为字符数据,然后,再对待打包项目中的字符数据进行页面压缩。由于已经将待打包项目中的二进制数据转换为可以进行页面压缩的字符数据,因此,可以有效解决相关技术中因待打包项目中包含二进制数据而导致的对待打包项目中的数据进行页面压缩时压缩失败的问题。
此外,本实施例还可以在将待打包项目中的二进制数据转换为字符数据之后,判断字符数据最后4个字符中是否包含指定字符,并在包含指定字符的情况下,对第二编码数据的最后4个字符或最后4个字符中的指定字符进行删除,以得到不含指定字符的目标编码数据。由于第二编码数据中不包含指定字符,因此,可以在一定程度上避免因包含指定字符而导致的页面压缩时压缩失败的问题。
图3是根据一示例性实施例示出的一种项目打包装置的框图。参照图3,该装置包括第一判断单元131、第一删除单元132、第一编码单元133和第一压缩单元134。
该第一判断单元131,被配置为执行判断待打包项目中二进制数据的数据量是否为24位的整数倍;
该第一删除单元132,被配置为执行若判断结果为否,则按位对所述二进制数据进行删除,得到目标二进制数据;其中,所述目标二进制数据的数据量为24位的整数倍;
该第一编码单元133,被配置为执行对所述目标二进制数据进行base64编码,得到第一编码数据;
该第一压缩单元134,被配置为执行对包含有所述第一编码数据的待打包项目中的数据进行页面压缩。
可选的,所述第一删除单元132用于:
根据从后往前的顺序,按位对所述二进制数据进行删除。
可选的,所述二进制数据为被执行过压缩处理且被压缩处理后的数据量小于预设值的图片数据。
由本公开示出的实施例可知,本实施例中,可以先将待打包项目中的二进制数据通过base64编码转换为字符数据,然后,再对待打包项目中的字符数据进行页面压缩。由于已经将待打包项目中的二进制数据转换为可以进行页面压缩的字符数据,因此,可以有效解决相关技术中因待打包项目中包含二进制数据而导致的对待打包项目中的数据进行页面压缩时压缩失败的问题。
此外,本实施例还可以在将待打包项目中的二进制数据转换为字符数据之前,判断待打包项目中的二进制数据的数据量是否为24位的整数倍,并在判断结果为否的情况下,按位对二进制数据进行删除,以使得二进制数据的数据量为24位的整数倍。由此可知,本实施例可以在将待打包项目中的二进制数据转换为字符数据之前,确保二进制数据的数据量为24位的整数倍,从而使得后续在对二进制数据进行base64编码时不会因数据量不为24位的整数倍而被添加指定字符。由于不会在base64编码时被添加指定字符,因此,也可以有效避免待打包项目在后续被处理时因被添加了指定字符而导致的处理失败的问题。
图4是根据一示例性实施例示出的另一种项目打包装置的框图。参照图4,该装置包括第二编码单元141、第二判断单元142、第二删除单元143和第二压缩单元144。
该第二编码单元141,被配置为执行对待打包项目中的二进制数据进行base64编码,得到第二编码数据;
该第二判断单元142,被配置为执行判断所述第二编码数据最后4个字符中是否包含指定字符;
该第二删除单元143,被配置为执行若判断结果为是,则对所述第二编码数据的最后4个字符,或所述最后4个字符中的指定字符进行删除,得到目标编码数据;
该第二压缩单元144,被配置为执行对包含有所述目标编码数据的待打包项目中的数据进行页面压缩。
可选的,所述二进制数据为被执行过压缩处理且被压缩处理后的数据量小于预设值的图片数据。
可选的,所述指定字符为:=。
由本公开示出的实施例可知,本实施例中,可以先将待打包项目中的二进制数据通过base64编码转换为字符数据,然后,再对待打包项目中的字符数据进行页面压缩。由于已经将待打包项目中的二进制数据转换为可以进行页面压缩的字符数据,因此,可以有效解决相关技术中因待打包项目中包含二进制数据而导致的对待打包项目中的数据进行页面压缩时压缩失败的问题。
此外,本实施例还可以在将待打包项目中的二进制数据转换为字符数据之后,判断字符数据最后4个字符中是否包含指定字符,并在包含指定字符的情况下,对第二编码数据的最后4个字符或最后4个字符中的指定字符进行删除,以得到不含指定字符的目标编码数据。由于第二编码数据中不包含指定字符,因此,可以在一定程度上避免因包含指定字符而导致的页面压缩时压缩失败的问题。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种项目打包设备的硬件结构示意图。
该项目打包设备可以为上述实施例提供的用于打包项目的终端设备或服务器等。
项目打包设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器501和存储器502,存储器502中可以存储有一个或一个以上存储应用程序或数据。其中,存储器502可以是短暂存储或持久存储。存储在存储器502的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对项目打包设备中的一系列计算机可执行指令。更进一步地,处理器501可以设置为与存储器502通信,在项目打包设备上执行存储器502中的一系列计算机可执行指令。项目打包设备还可以包括一个或一个以上电源503,一个或一个以上有线或无线网络接口504,一个或一个以上输入输出接口505,一个或一个以上键盘506。
具体在一实施例中,项目打包设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对项目打包设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
判断待打包项目中二进制数据的数据量是否为24位的整数倍;
若判断结果为否,则按位对所述二进制数据进行删除,得到目标二进制数据;其中,所述目标二进制数据的数据量为24位的整数倍;
对所述目标二进制数据进行base64编码,得到第一编码数据;
对包含有所述第一编码数据的待打包项目中的数据进行页面压缩。
可选地,所述按位对所述二进制数据进行删除,包括:
根据从后往前的顺序,按位对所述二进制数据进行删除。
可选地,所述二进制数据为被执行过压缩处理且被压缩处理后的数据量小于预设值的图片数据。
本实施例中,可以先将待打包项目中的二进制数据通过base64编码转换为字符数据,然后,再对待打包项目中的字符数据进行页面压缩。由于已经将待打包项目中的二进制数据转换为可以进行页面压缩的字符数据,因此,可以有效解决相关技术中因待打包项目中包含二进制数据而导致的对待打包项目中的数据进行页面压缩时压缩失败的问题。
此外,本实施例还可以在将待打包项目中的二进制数据转换为字符数据之前,判断待打包项目中的二进制数据的数据量是否为24位的整数倍,并在判断结果为否的情况下,按位对二进制数据进行删除,以使得二进制数据的数据量为24位的整数倍。由此可知,本实施例可以在将待打包项目中的二进制数据转换为字符数据之前,确保二进制数据的数据量为24位的整数倍,从而使得后续在对二进制数据进行base64编码时不会因数据量不为24位的整数倍而被添加指定字符。由于不会在base64编码时被添加指定字符,因此,也可以有效避免待打包项目在后续被处理时因被添加了指定字符而导致的处理失败的问题。
具体在另一实施例中,项目打包设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对项目打包设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
对待打包项目中的二进制数据进行base64编码,得到第二编码数据;
判断所述第二编码数据最后4个字符中是否包含指定字符;
若判断结果为是,则对所述第二编码数据的最后4个字符,或所述最后4个字符中的指定字符进行删除,得到目标编码数据;
对包含有所述目标编码数据的待打包项目中的数据进行页面压缩。
可选地,所述二进制数据为被执行过压缩处理且被压缩处理后的数据量小于预设值的图片数据。
可选地,所述指定字符为:=。
本实施例中,可以先将待打包项目中的二进制数据通过base64编码转换为字符数据,然后,再对待打包项目中的字符数据进行页面压缩。由于已经将待打包项目中的二进制数据转换为可以进行页面压缩的字符数据,因此,可以有效解决相关技术中因待打包项目中包含二进制数据而导致的对待打包项目中的数据进行页面压缩时压缩失败的问题。
此外,本实施例还可以在将待打包项目中的二进制数据转换为字符数据之后,判断字符数据最后4个字符中是否包含指定字符,并在包含指定字符的情况下,对第二编码数据的最后4个字符或最后4个字符中的指定字符进行删除,以得到不含指定字符的目标编码数据。由于第二编码数据中不包含指定字符,因此,可以在一定程度上避免因包含指定字符而导致的页面压缩时压缩失败的问题。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器,上述指令可由装置的处理器执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.一种项目打包方法,其特征在于,应用于打包设备,所述方法包括:
判断待打包项目中二进制数据的数据量是否为24位的整数倍;
若判断结果为否,则按位对所述二进制数据进行删除,得到目标二进制数据;其中,所述目标二进制数据的数据量为24位的整数倍;
对所述目标二进制数据进行base64编码,得到第一编码数据;
对包含有所述第一编码数据的待打包项目中的数据进行页面压缩。
2.根据权利要求1所述的项目打包方法,其特征在于,所述按位对所述二进制数据进行删除,包括:
根据从后往前的顺序,按位对所述二进制数据进行删除。
3.根据权利要求1所述的项目打包方法,其特征在于,所述二进制数据为被执行过压缩处理且被压缩处理后的数据量小于预设值的图片数据。
4.一种项目打包方法,其特征在于,应用于打包设备,所述方法包括:
对待打包项目中的二进制数据进行base64编码,得到第二编码数据;
判断所述第二编码数据最后4个字符中是否包含指定字符;
若判断结果为是,则对所述第二编码数据的最后4个字符,或所述最后4个字符中的指定字符进行删除,得到目标编码数据;
对包含有所述目标编码数据的待打包项目中的数据进行页面压缩。
5.根据权利要求1所述的项目打包方法,其特征在于,所述二进制数据为被执行过压缩处理且被压缩处理后的数据量小于预设值的图片数据。
6.根据权利要求1所述的项目打包方法,其特征在于,所述指定字符为:=。
7.一种项目打包装置,其特征在于,应用于打包设备,所述装置包括:
第一判断单元,被配置为执行判断待打包项目中二进制数据的数据量是否为24位的整数倍;
第一删除单元,被配置为执行若判断结果为否,则按位对所述二进制数据进行删除,得到目标二进制数据;其中,所述目标二进制数据的数据量为24位的整数倍;
第一编码单元,被配置为执行对所述目标二进制数据进行base64编码,得到第一编码数据;
第一压缩单元,被配置为执行对包含有所述第一编码数据的待打包项目中的数据进行页面压缩。
8.一种项目打包装置,其特征在于,应用于打包设备,所述装置包括:
第二编码单元,被配置为执行对待打包项目中的二进制数据进行base64编码,得到第二编码数据;
第二判断单元,被配置为执行判断所述第二编码数据最后4个字符中是否包含指定字符;
第二删除单元,被配置为执行若判断结果为是,则对所述第二编码数据的最后4个字符,或所述最后4个字符中的指定字符进行删除,得到目标编码数据;
第二压缩单元,被配置为执行对包含有所述目标编码数据的待打包项目中的数据进行页面压缩。
9.一种项目打包设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至3,或权利要求4至6中任一项所述的项目打包方法。
10.一种存储介质,当所述存储介质中的指令由项目打包设备的处理器执行时,使得项目打包设备能够执行如权利要求1至3或权利要求4至6中任一项所述的项目打包方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910989814.5A CN111026375A (zh) | 2019-10-17 | 2019-10-17 | 项目打包方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910989814.5A CN111026375A (zh) | 2019-10-17 | 2019-10-17 | 项目打包方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111026375A true CN111026375A (zh) | 2020-04-17 |
Family
ID=70201156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910989814.5A Pending CN111026375A (zh) | 2019-10-17 | 2019-10-17 | 项目打包方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111026375A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5758336A (en) * | 1996-05-30 | 1998-05-26 | Matridigm Corp. | Date format and date conversion procedure using a packed binary format |
CN101561762A (zh) * | 2008-04-18 | 2009-10-21 | 鸿富锦精密工业(深圳)有限公司 | 软件安装程序打包系统及方法 |
CN105740215A (zh) * | 2016-01-23 | 2016-07-06 | 北京掌阔移动传媒科技有限公司 | 一种数据通信编码和解码方法 |
US20170310671A1 (en) * | 2016-04-25 | 2017-10-26 | Barracuda Networks, Inc. | Method and apparatus to support binary packing of json data |
CN109271596A (zh) * | 2018-08-15 | 2019-01-25 | 深圳点猫科技有限公司 | 一种基于教育云平台的缓存数据的方法及电子设备 |
CN109558574A (zh) * | 2018-10-16 | 2019-04-02 | 广州市南方人力资源评价中心有限公司 | 一种生成在线考试试题加工方法 |
-
2019
- 2019-10-17 CN CN201910989814.5A patent/CN111026375A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5758336A (en) * | 1996-05-30 | 1998-05-26 | Matridigm Corp. | Date format and date conversion procedure using a packed binary format |
CN101561762A (zh) * | 2008-04-18 | 2009-10-21 | 鸿富锦精密工业(深圳)有限公司 | 软件安装程序打包系统及方法 |
CN105740215A (zh) * | 2016-01-23 | 2016-07-06 | 北京掌阔移动传媒科技有限公司 | 一种数据通信编码和解码方法 |
US20170310671A1 (en) * | 2016-04-25 | 2017-10-26 | Barracuda Networks, Inc. | Method and apparatus to support binary packing of json data |
CN109271596A (zh) * | 2018-08-15 | 2019-01-25 | 深圳点猫科技有限公司 | 一种基于教育云平台的缓存数据的方法及电子设备 |
CN109558574A (zh) * | 2018-10-16 | 2019-04-02 | 广州市南方人力资源评价中心有限公司 | 一种生成在线考试试题加工方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107038041B (zh) | 数据处理方法、错误码动态兼容方法、装置和系统 | |
CN107045438B (zh) | 一种应用顶层视图处理方法、装置及组件 | |
CN107786630B (zh) | 一种web应用包处理方法、装置及设备 | |
CN107479868B (zh) | 一种界面加载方法、装置及设备 | |
CN107038058B (zh) | 一种代码处理方法及装置 | |
CN110912825A (zh) | 一种报文的转发方法、装置、设备及系统 | |
CN111859470A (zh) | 一种业务数据上链方法及装置 | |
CN117932668A (zh) | 基于区块链的文件处理方法、装置、设备及存储介质 | |
CN108279941A (zh) | 一种应用程序的压缩方法和装置 | |
CN109062906B (zh) | 程序语言资源的翻译方法及装置 | |
CN115617799A (zh) | 一种数据存储的方法、装置、设备及存储介质 | |
CN114547024A (zh) | 一种sql语句风险检测方法、装置、设备及介质 | |
CN113079201B (zh) | 一种信息的处理系统、方法、装置及设备 | |
CN111930343A (zh) | 一种获取随机数、生成随机数的方法、设备及介质 | |
CN110046052B (zh) | 一种服务调用方法及装置 | |
CN114115016A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN110941443B (zh) | 修改sdk中文件名的方法、装置及电子设备 | |
CN109597695B (zh) | 一种数据处理方法、装置及设备 | |
CN111026375A (zh) | 项目打包方法、装置及设备 | |
CN107239270B (zh) | 代码处理方法和装置 | |
CN114528121A (zh) | 电网台账数据分发方法及装置 | |
CN114401012A (zh) | 一种资源处理方法、装置、设备及介质 | |
CN111090425B (zh) | 一种程序封装方法、装置及电子设备 | |
CN114090070A (zh) | 应用程序安装包文件处理方法及电子设备 | |
CN111984247A (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 |