编解码函数

最近更新时间:2025-06-24 15:47:32

我的收藏

decode_url 函数

函数定义

将编码 URL 进行解码。

语法描述

decode_url()

参数说明

参数名称
参数描述
参数类型
是否必须
参数默认值
参数取值范围
url
URL 值
String
-
-

示例

原始日志:
{"url":"https%3A%2F%2Fcloud.tencent.com%2F"}
加工规则:
fields_set("result",decode_url(v("url")))
加工结果:
{"result":"https://cloud.tencent.com/","url":"https%3A%2F%2Fcloud.tencent.com%2F"}

md5_encoding 函数

函数定义

计算并返回 MD5值。

语法描述

md5_encoding()

参数说明

参数名称
参数描述
参数类型
是否必须
参数默认值
参数取值范围
待计算 MD5值的数据
String
-
-

示例

原始日志:
{"field": "haha"}
加工规则:
fields_set("field", md5_encoding(v("field")))
加工结果:
{"field":"4e4d6c332b6fe62a63afe56171fd3725"}

uuid 函数

函数定义

生成 universally unique identifier (UUID) ,即唯一识别码。

语法描述

uuid()

参数说明

无入参。

示例

原始日志:
{"key":"value"}
加工规则:
fields_set("field",uuid())
加工结果:
{"field":"8c2db704-45c0-4ea1-9e2c-cf9c966e35cd","key":"value"}

str_encode 函数

函数定义

对字符串进行指定格式的编码。

语法描述

str_encode(data, encoding="utf8", errors="ignore")

参数说明

参数名称
参数描述
参数类型
是否必须
参数默认值
参数取值范围
data
待编码的数据
String
-
-
encoding
编码格式,默认为 utf8,支持 ASCII、latin1、unicode-escape
String
utf8
-
errors
编码格式无法识别字符时的处理方式
ignore(默认值):忽略不做编码
strict:直接报错,丢弃此条日志数据
replace:使用半角问号(?)替换无法识别部分
xmlcharrefreplace:使用对应 XML 字符替换无法识别部分
String
ignore
-

示例

原始日志:
{"field1": "asd编码编码\\\\u1234"}
加工规则:
fields_set("field2", str_decode(str_encode(v("field1"), "unicode-escape"), "unicode-escape"))
加工结果:
{"field1":"asd编码编码\\\\u1234","field2":"asd编码编码ሴ"}

str_decode 函数

函数定义

对字符串进行指定格式的解码。

语法描述

str_decode(data, encoding="utf8", errors="ignore")

参数说明

参数名称
参数描述
参数类型
是否必须
参数默认值
参数取值范围
data
待解码的数据
String
-
-
encoding
编码格式,默认为 utf8,支持 ASCII、latin1、unicode-escape
String
utf8
-
errors
编码格式无法识别字符时的处理方式
ignore(默认值):忽略不做解码
strict:直接报错,丢弃此条日志数据
replace:使用半角问号(?)替换无法解码部分
xmlcharrefreplace:使用对应 XML 字符替换无法解码部分
String
ignore
-

示例

原始日志:
{"field1": "英文和中文测试:qwertyuiopasdfghjklzxcvbnm QWERTYUIOPASDFGHJKLZXCVBNM 特殊符号:】】【!@#$%^&*()_++~"}
加工规则:
fields_set("field2", str_decode(str_encode(v("field1"))))
加工结果:
{"field1":"英文和中文测试:qwertyuiopasdfghjklzxcvbnm QWERTYUIOPASDFGHJKLZXCVBNM 特殊符号:】】【!@#$%^&*()_++~", "field2":"英文和中文测试:qwertyuiopasdfghjklzxcvbnm QWERTYUIOPASDFGHJKLZXCVBNM 特殊符号:】】【!@#$%^&*()_++~"}

base64_encode 函数

函数定义

将字符串进行 base64编码。

语法描述

base64_encode(值, format="RFC3548")

参数说明

参数名称
参数描述
参数类型
是否必须
参数默认值
参数取值范围
value
待编码字符串
string
-
-
format
编码格式,支持 RFC4648(默认)、RFC3548
string
RFC4648
-

示例

原始日志:
{"field": "hello world"}
加工规则:
fields_set("encode", base64_encode(v("field")))
加工结果:
{"encode":"aGVsbG8gd29ybGQ=", "field":"hello world"}

base64_decode 函数

函数定义

将字符串进行 base64解码。

语法描述

base64_decode(值, format="RFC3548")

参数说明

参数名称
参数描述
参数类型
是否必须
参数默认值
参数取值范围
value
待解码字符串
string
-
-
format
解码格式,支持 RFC4648(默认)、RFC3548
string
RFC4648
-

示例

原始日志:
{"field": "aGVsbG8gd29ybGQ="}
加工规则:
fields_set("decode", base64_decode(v("field")))
加工结果:
{"decode":"hello world", "field":"aGVsbG8gd29ybGQ="}

hashids_encode 函数

函数定义

使用 Hashids 库对数据进行编码。

语法描述

hashids_encoding(value, salt="", min_length=0)

参数说明

参数名称
参数描述
参数类型
是否必须
参数默认值
参数取值范围
value
待编码字符串
Number、List、Tuple
-
当 value 为数字时,不能小于0
salt
为数据添加盐值,默认为空字符串
String
""

min_length
生成的哈希值的最小长度,默认为0
Number
0
-

示例1

原始日志:
{"data": "[123, 456]"}
加工规则:
fields_set("hashid", hashids_encode(v("data"), salt="test", min_length=32))
加工结果:
{"data":"[123, 456]", "hashid":"O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g"}

示例2

原始日志:
{"data1": "123", "data2": "456"}
加工规则:
fields_set("hashid", hashids_encode(v("data1"),v("data2"), salt="test", min_length=32))
加工结果:
{"data1": "123", "data2": "456", "hashid":"O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g"}

hashids_decode 函数

函数定义

对已使用 Hashids 库编码的数据进行解码。

语法描述

hashids_decoding(hash_value, salt="", min_length=0)

参数说明

参数名称
参数描述
参数类型
是否必须
参数默认值
参数取值范围
hash_value
待解码的字符串
String
-
-
salt
为数据添加盐值,默认为空字符串
String
""
-
min_length
生成的哈希值的最小长度,默认为0
Number
0
-

示例

原始日志:
{"hashid":"O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g"}
加工规则:
fields_set("result", hashids_decode(v("hashid"), salt="test", min_length=32))
加工结果:
{"result":"[123, 456]","hashid":"O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g"}