js脚本怎么转码?

JavaScript07

js脚本怎么转码?,第1张

可以使用js自带的转码方法escape(),encodeURI()和encodeURIComponent()。

下面是详细介绍:

Js中escape(),encodeURI()和encodeURIComponent()使用和比较:

escape方法以Unicode格式返回一个包含传入参数内容的string类型的值。 Escape方法会将传入参数中所有的空格、标点符号、重音字符以及其它任何非ASCII字符替换为%xx的编码形式,其中xx与其所表示的字符的16进制数表示形式相同。如空格字符的16进制表示形式为0x20,则此时xx应为20,即escape(‘ ’) 返回“%20”。

escape和unescape方法能够帮助你编码和解码字符串。escape方法对于ISO Latin字符集中的字符组成的参数,返回其16进制编码。相对应的,unescape方法则能将16进制编码形式的参数转化成为其ASCII码形式。

encodeURI方法返回一个经过编码的URI。如果将encodeURI方法的编码结果传递给decodeURI方法作参数,则能得到原始的未编码的字符串。需要注意到是encodeURI方法不编码如下字符":", "/", "", and "?"。如果想要编码这些字符,请使用encodeURIComponent方法。

encodeURIComponent方法返回一个编码过的URI。如果将encodeURIComponent方法的编码结果传递给encodeURIComponent方法作参数,则能得到原始的未编码的字符串。因为encodeURIComponent方法会编码所有的字符,所以如果待编码的字符串是用来表示一个路径(如/dir1/dir2/index.htm)时,就一定要小心使用了。‘/’符号会被其编码之后,将不再是一个有效的路径标识符,所以不能被web服务器正确地识别。当字符串包含一个单独的URI component(指?后面的请求参数)的时候,请使用此方法。

escape()不编码的字符:@*/+

encodeURI() 不编码的字符:~!@#$&*()=:/,?+"

encodeURIComponent()不编码的字符: ~!*()''

脚本加密主要是用cocos2dx自带的加密方法,把js脚本转换成jsc二进制文件。

主要是利用cocos jscompile命令进行转换可以输入cocos jscompile -h查看一下主要功能:

主要使用:

这两个命令对src和js-binding下面的js文件进行加密。然后可以把js文件删除。直接使用jsc就可以。也可以把这个命令做个配置,配在build_native.py下面,每次打包都自动转换了

具体可以看 这里

资源加密主要是利用TexturePacker把小图转化成大图,然后利用TexturePacker对图片进行加密操作。需要导出pvr.czz文件,然后选择Content protection对图片生成密钥进行加密。可以选择生成系统密钥,然后保存32位二进制数,然后直接publish就可以。

然后在AppDelegate中添加如下:

然后就可以在程序中使用了,如下: