![6dec12737e97ef04847d743a13a30e3d.gif](https://i-blog.csdnimg.cn/blog_migrate/dacea63a0226d61d7629d20c4b65574b.gif)
●Scriptable 神器试玩,创建一个显示自定义标题内容的 iOS14桌面组件
●Scriptable 神器实战2 —— 给桌面组件添加自定义背景图片
●Scriptable 神器实战3 —— 夜间模式动态展示
●Scriptable 神器实战4 —— 获取桌面组件的大小以自动展示内容
●Scriptable 神器实战5 —— 给桌面组件添加一个渐变色背景
●Scriptable神器实战6 —— 给背景图片加上半透明遮罩
●Scriptable神器实战7 —— 获取用户添加组件时的自定义参数
●Scriptable神器实战 8 —— 本地存储 Keychain 用法
本期讲解Base64 编码是 js 中一个非常有用的数据处理方法,它可以编码一些如二进制、特殊字符等字符串,便于我们进行存储、传递等操作。
Scriptable API中有个 Data 对象,这就是用来处理数据的,比较常用的就是 base64 编码解码,它支持的方法列表如下:
static fromString(string: string): Data
static fromFile(filePath: string): Data
static fromBase64String(base64String: string): Data
static fromJPEG(image: Image): Data
static fromPNG(image: Image): Data
toRawString(): string
toBase64String(): string
getBytes(): [number]
static 开头的方法,用于直接调用,比如 Data.fromString
后边的方法,是上一个方法返回的数据的调用,比如:
data = Data.fromString("hello")result = data.toRawString()
编码操作
编码字符串
data = Data.fromString("要编码的字符串")result = data.toBase64String()
获取文件的base64编码
data = Data.fromFile(FileManager.local().documentDirectory() + "/file.txt")result = data.toBase64String()
图片转换 base64 编码:
let req = new Request("http://图片地址.jpg")let img = await req.loadImage()data = Data.fromImage(img)result = data.toBase64String()
解码操作
解码操作就比较简单了,我们先把 base64 字符串转换成 Data 对象,然后调用 Data 对象的方法解码成其他数据即可:
let data = Data.fromBase64String(base64字符串)// 解码成纯文本let text = data.toRawString()// 解码成byte(二进制)let data2 = data.getBytes()// 转换成图片let image = Image.fromData(data2)
很好理解,实用性也比较多,我在 Scriptables 桌面组件框架库 中已经进行了实际使用,有兴趣的伙伴欢迎阅读源码学习