编解码函数

最近更新时间:2024-10-18 10:20:11

我的收藏

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="}