本文为您介绍Misc相关函数的语法、说明、参数、返回值和示例。

base64_enc

函数详细解释如下:
  • 语法:base64_enc(s [, no_padding])
  • 说明

    base64编码。

  • 参数
    • s:待编码的字符串。
    • no_padding:true表示无填充,默认false
  • 返回值

    base64编码后的字符串。

  • 示例
    if $http_data {
       decdata = base64_dec($http_data)
       say(concat('base64_decdata=', decdata))
       say(concat('base64_encdata=', base64_enc('hello, dsl'))) 
    }
    
    请求header: "data: aGVsbG8sIGRzbA=="
    响应:base64_decdata=hello, dsl
    base64_encdata=aGVsbG8sIGRzbA==

base64_dec

函数详细解释如下:
  • 语法:base64_dec(s)
  • 说明

    base64编码。

  • 参数

    s:待编码的字符串。

  • 返回值

    base64编码后的字符串。

  • 示例
    if $http_data {
       decdata = base64_dec($http_data)
       say(concat('base64_decdata=', decdata))
       say(concat('base64_encdata=', base64_enc('hello, dsl'))) 
    }
    
    请求header: "data: aGVsbG8sIGRzbA=="
    响应:base64_decdata=hello, dsl
    base64_encdata=aGVsbG8sIGRzbA==

url_escape

函数详细解释如下:
  • 语法:url_escape(s)
  • 说明

    URL编码。

  • 参数:

    s:待编码的字符串。

  • 返回值

    URL编码后的字符串。

  • 示例
    raw = '/abc/123/ dd/file.m3u8'
    esdata = url_escape(raw)
    dsdata = url_unescape(esdata)
    if eq(raw, dsdata) {
        say(concat('raw=', raw))
        say(concat('dsdata=', dsdata))
    }
    输出:raw=/abc/123/ dd/file.m3u8
    esdata=%2Fabc%2F123%2F%20dd%2Ffile.m3u8
    dsdata=/abc/123/ dd/file.m3u8

url_unescape

函数详细解释如下:
  • 语法:url_unescape(s)
  • 说明:

    URL编码。

  • 参数:

    s:待编码的字符串。

  • 返回值:

    URL编码后的字符串。

  • 示例
    raw = '/abc/123/ dd/file.m3u8'
    esdata = url_escape(raw)
    dsdata = url_unescape(esdata)
    if eq(raw, dsdata) {
        say(concat('raw=', raw))
        say(concat('dsdata=', dsdata))
    }
    输出:raw=/abc/123/ dd/file.m3u8
    esdata=%2Fabc%2F123%2F%20dd%2Ffile.m3u8
    dsdata=/abc/123/ dd/file.m3u8

rand

函数详细解释如下:
  • 语法:rand(n1, n2)
  • 说明

    生成随机数,随机数范围:n1 <= 返回值 <= n2。

  • 参数
    • n1:随机数下限。
    • n2:随机数上限。
  • 返回值

    返回生成的随机数。

  • 示例
    r = rand(1,100)

rand_hit

函数详细解释如下:
  • 语法:rand_hit(ratio)
  • 说明

    按指定概率返回真假。

  • 参数

    ratio:为真概率,有效值范围为[0-100]。

  • 返回值

    按ratio概率返回true。例如:当ratio为100时,返回true,当ratio为0时,返回false

  • 示例
    rand_hit(80)

crc

函数详细解释如下:
  • 语法:crc(s)
  • 说明

    计算crc摘要。

  • 参数

    s:待计算摘要的字符串。

  • 返回值

    返回s的crc摘要。

  • 示例
    crc('hello edgescript')

tonumber

函数详细解释如下:
  • 语法:tonumber(s [, base])
  • 说明

    类型转换,将字符串类型转换为数字类型。

  • 参数
    • s:待转换的字符串。
    • base:可指定目标转换进制,可用值:10和16,默认10进制。
  • 示例
    n = tonumber('100')
    say(concat('tonumber()=', n))
    
    输出:tonumber()=100