--- title: DataURL解码 updated: 2022-01-11 08:10:04Z created: 2022-01-11 07:55:24Z tags: - aardio - 代码块 --- 原mybase笔记中的图片大量采用DataURL编码,这会生成大量字符,故不适合MarkDown的编辑方式,需要转换回图片格式。 经测试,joplin会自动转换剪贴板中的图像为附件并将链接插入正文,于是只需将原DataURL转回图片存于剪切板即可。 笔记中通常有多图,为方便快速转换,程序支持自动提取并预览,切换图片时时自动复制到剪贴板,在joplin中直接粘贴即可。 源码如下: [DataURL转剪贴板.aardio](../_resources/DataURL转剪贴板.aardio) 核心代码为: ```c picarr = {}; //读剪贴板前需重置 var pattern = "data\:image\/\w+;base64,(\S+)"""//最后的"代表base64字符结束位置 for str in string.gmatch(strInClip, pattern ){//匹配DataURL编码 if(!str) return ; table.push(picarr,str) } var img = crypt.decodeBin(picarr[index]); //解码 win.clip.writeBitmap(gdip.bitmap(img).copyHandle())//写剪贴板 winform.picturebox.background = gdip.bitmap(img)//预览 ``` #aardio #代码块