【咸鱼教程】Base64

教程目录
1 Base64简介
2 使用Base64
3 Demo下载

1 Base64简介
百度百科:Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。

简单来说就是让数据具有不可读性。

某平台的游戏,在进行websocket通讯时,使用了base64对传输数据进行编码。

2 使用Base64
1 index.html中加载base64.min.js

[C#] 纯文本查看 复制代码

?


1

<script src="base64.min.js"></script>

2 编写Base64工具类

[C#] 纯文本查看 复制代码

?


01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

/**

 * Base64

 * @author chenkai

 *  2017/4/18

 */

class Base64 {

        /**

         * 编码

         */

        public static encode(data:string){

                return window["Base64"].encode(data);

        }

        /**

         * 解码

         */

        public static decode(data:string){

                return window["Base64"].decode(data);

        }

}

3 使用Base64

[AppleScript] 纯文本查看 复制代码

?


1

2

3

4

5

6

7

//编码

var encode = Base64.encode("12345");

console.log(encode)//MTIzNDU=

 //解码

var decode = Base64.decode(encode);

console.log(decode)//12345

2 Demo下载

原文地址:https://www.cnblogs.com/gamedaybyday/p/9219949.html

时间: 2024-08-30 17:57:12

【咸鱼教程】Base64的相关文章

【咸鱼教程】JsZip压缩与解压教程

引擎版本3.0.6 教程目录一 为什么要用jszip二 如何使用jszip    2.1 下载jszip库    2.2 导入jszip库    2.3 加载和解压zip代码三 Demo源码下载 一 为什么要用jszip在游戏中有大量配置文件时,为了减少加载次数和传输量,将文件打包成zip,在egret中加载并解压获取数据. 在中大型游戏,不可避免有大量的游戏配置文件. 为了减少加载次数和传输量,我们事先将这些文件压缩打包成zip, 然后在egret中加载,并使用jszip库解压获取其中的数据.

【咸鱼教程】Egret实现摇一摇功能

教程目录一 实现原理二 代码三 Demo下载 一 实现原理监听设备旋转角度的变化,来判断用户是否摇动手机. 参考:智能手机里陀螺仪和重力感应有何区别?HTML5实现摇一摇的功能Egret官方陀螺仪教程 二 代码摇一摇工具类ShakeTool使用范例 [Actionscript3] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 private shakeTest(){         this.shakeTool = new Shak

【咸鱼教程】实战微信分享、图片、录音等接口使用

教程目录一 微信测试号申请二 微信php后台搭建三 微信测试号设置四 微信客户端接口使用五 Egret微信第三方库使用六 源码下载 一 微信测试号申请个人开发者没有号,所以只能用测试号来实现,不过不用担心,客户端的代码使用起来和真实的公众号是一样的. 首先到微信公众平台开发者文档去申请测试号:http://mp.weixin.qq.com/wiki/home/index.html 点击登录 用你的微信扫一扫 好了,我们已经有了测试号了 二 微信php后台搭建 微信官方提供了一个demo,我们可以

【咸鱼教程】protobuf在websocket通讯中的使用

教程目录一 protobuf简介二 使用protobuf三 Demo下载 一 protobuf简介百度百科:protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台.google 提供了多种语言的实现:java.c#.c++.go 和 python,每一种实现都包含了相应语言的编译器以及库文件.由于它是一种二进制的格式,比使用xml 进行数据交换快许多.可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换.作为一种效率和兼容性都很优秀的二

【咸鱼教程】Egret可长按识别二维码(精确位置和大小)

教程目录一 实现原理二 实现过程三 Demo下载 本教程是在Egret中实现长按识别的二维码,并可以精确定位二维码的位置和大小,支持横屏和竖屏. 一 实现原理 微信中长按识别二维码,需要长按jpg或png等图片上,才会调起识别. 因为egret中的二维码,是绘制在canvas上的,故不能被长按识别. 所以为了解决这个问题,需要在canvas上覆盖一个二维码<img>标签, 达到可以长按识别的需求. 二 实现过程 1 在index.html中为div增加id = gameDiv,以备在egret

【咸鱼教程】基于系统时间的计时器DateTimer(不受FPS影响)

教程目录一 计时器简介二 计时器实现三 Demo下载 一 计时器简介在手机上跑游戏时,可能由于运动物体过多,导致帧频太低,计时不准确.比如一些倒计时的游戏,可能倒计时30s,变成了35s.比如iphone运行流畅游戏倒计时60s,实际耗时60s,而android有点儿慢,倒计时60s,实际耗时70s.比如一些物体运动,每帧移动1像素,60fps,移动60像素,由于卡顿,帧频降低到40fps,那么实际这个物体只移动了40像素.比如在unity中,有两种帧环FixedUpdate跟Update,Up

【咸鱼教程】TextureMerger1.6.6 二:Sprite Sheet的制作和使用

Sprite Sheet主要用于将零碎的小图合并成一张整图.减少加载图片时http的请求次数. 1 打开TextureMerger,选择Sprite Sheet 2  添加纹理(未创建项目时,会先弹出一个新建项目,任意取名创建一个项目就行) 选择4张图 图片添加到了项目中附加拓展名:自动在图片名后增加"_png".布局:调整纹理合集图片的位置,选择后可直接在右边看到效果画布:Power2:百度2的N次幂...  FreeSize自动合适大小间隙:图片间隔大一些,看得清楚... 3 导出

【咸鱼教程】DragonBones帧动画、骨骼json、极速、二进制

公司的人想用龙骨,但是同事在官网找不着二进制的资料...于是写了个简单demo. demo中包含了帧动画.骨骼动画json.极速和二进制的资源和代码 测试环境:DragonBonesPro 5.5   (5.6一直报错无法导出,后来据说是未注册登录...)Egret Wing4.1.0EgretEgnie 5.0.14 目录:一.代码运行效果图二.效率和内存占用对比三.二进制龙骨使用方法四.Demo下载 一.  代码运行效果图:demo中使用的龙骨动画来自打开dragonbone软件后首页的那条

【咸鱼教程】EUI多图片滑动组件ScrollView

先看看实际效果 实现原理1.  ScrollView继承eui.Scroll2.  监听eui.Sroll的CHANGE_START和CHANGE_END事件,      根据鼠标滑动距离,来改变视口viewport.scrollH,达到图片滑动的效果. 使用方法1. 拖动组件到exml上在自定义组件里,拖动ScrollView组件到exml上,将要显示的图片拖动到Scroll的Group下.ScrollView高宽一定要和图片高宽一致. 2. 设置Group的布局和水平间隔比如如果是横着的图片