通用文本处理

通用文本处理 公开 已发布

如何安装动作?

适用于
分类(旧)



更多信息
分享时间 19小时21分钟前
最后更新 16小时18分钟前
修订版本 2
用户许可 -未设置-
Quicker版本 1.44.22
动作大小 23.1 KB

分享到

「对于一些需要借助JS完成的文本信息处理,可以直接复用这个动作。」

简介

本动作主要有两个用处

1. 快速使用JS去定义一些文本处理方法。

2. 基于这个动作快速开发文本处理类动作。

本动作会在"我的文档\Quicker"目录下新建一个"通用文本处理"的文件夹,这个文件夹名取决于动作名。文件夹内可以编写多个js文件,每个文件对应一个文本处理方法。

关于文本处理方法的编写,本动作会在JS的全局对象中注入一个全局变量input,可以通过这个变量获取输入内容,通过JS进行文本处理后,使用return将结果返回出去即可。

以下是一个base64编码的demo,将这个demo拷贝到"我的文档\Quicker\通用文本处理\base64编码.js",直接执行动作,就可以看到这个动作了。

const chars =
    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
function btoa(str) {
    let result = "";
    let i = 0;
    const len = str.length;
    while (i < len) {
        // 读取三个字节(不足则补0)
        const c1 = str.charCodeAt(i++) & 0xff;
        const c2 = i < len ? str.charCodeAt(i++) & 0xff : 0;
        const c3 = i < len ? str.charCodeAt(i++) & 0xff : 0;
        // 计算四个6位索引
        const b1 = (c1 >> 2) & 0x3f;
        const b2 = ((c1 & 0x03) << 4) | ((c2 >> 4) & 0x0f);
        const b3 = ((c2 & 0x0f) << 2) | ((c3 >> 6) & 0x03);
        const b4 = c3 & 0x3f;
        // 根据字节数决定填充
        const byteCount = i - (result.length / 4) * 3; // 当前组实际字节数
        result += chars[b1] + chars[b2];
        result += byteCount > 1 ? chars[b3] : "=";
        result += byteCount > 2 ? chars[b4] : "=";
    }
    return result;
}
return btoa(input);

本动作有云同步功能,里面自然也有动作的序列化和反序列化相关功能,将序列化后的字符串内置在动作里,第一次启动反序列化,就可以快速开发一款文本处理工具。

最近更新

修订版本 更新时间 更新说明
2 16小时18分钟前 添加云同步机制
1 17小时18分钟前 添加错误捕获
0 19小时21分钟前

最近讨论

暂无讨论