This topic describes the syntax, features, parameters, and return values of miscellaneous functions. This topic also provides examples of these functions.

base64_enc | base64_dec | url_escape | url_unescape | randomseed | rand | rand_hit | crc | tonumber | base64_enc_safe | base64_dec_safe

base64_enc

ItemDescription
Syntaxbase64_enc(s [, no_padding])
FeatureEncodes a string in Base64.
Parameters
  • s: the string that you want to encode.
  • no_padding: specifies whether to pad the string. A value of true specifies that the string is not padded. Default value: false.
Return valuesA Base64-encoded string.
Examples
if $http_data {
   decdata = base64_dec($http_data)
   say(concat('base64_decdata=', decdata))
   say(concat('base64_encdata=', base64_enc('hello, dsl'))) 
}

Request header: "data: aGVsbG8sIGRzbA=="
Response: base64_decdata=hello, dsl
base64_encdata=aGVsbG8sIGRzbA==

base64_dec

ItemDescription
Syntaxbase64_dec(s)
FeatureDecodes a Base64-encoded string.
Parameterss: the string that you want to decode.
Return valuesA decoded raw string.
Examples
if $http_data {
   decdata = base64_dec($http_data)
   say(concat('base64_decdata=', decdata))
   say(concat('base64_encdata=', base64_enc('hello, dsl'))) 
}

Request header: "data: aGVsbG8sIGRzbA=="
Response: base64_decdata=hello, dsl
base64_encdata=aGVsbG8sIGRzbA==

url_escape

ItemDescription
Syntaxurl_escape(s)
FeatureUses URL encoding to encode a string.
Parameterss: the string that you want to encode.
Return valuesA URL-encoded string.
Examples
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))
}
Output:
raw=/abc/123/ dd/file.m3u8
dsdata=%2Fabc%2F123%2F%20dd%2Ffile.m3u8
dsdata=/abc/123/ dd/file.m3u8

url_unescape

ItemDescription
Syntaxurl_unescape(s)
FeatureDecodes a URL-encoded string.
Parameterss: the string that you want to decode.
Return valuesA decoded raw string.
Examples
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))
}
Output:
raw=/abc/123/ dd/file.m3u8
esdata=%2Fabc%2F123%2F%20dd%2Ffile.m3u8
dsdata=/abc/123/ dd/file.m3u8

randomseed

ItemDescription
Syntaxrandomseed()
FeatureGenerates a random seed.
ParametersNone.
Return valuesNone.
Examples
randomseed()
r = rand(1,100)

rand

ItemDescription
Syntaxrand(n1, n2)
FeatureGenerates a random number. Valid values: n1 ≤ returned number ≤ n2.
Parameters
  • n1: the smallest number.
  • n2: the greatest number.
Return valuesA random number.
Examples
r = rand(1,100)

rand_hit

ItemDescription
Syntaxrand_hit(ratio)
FeatureRetrieves a value of true or false based on the specified probability.
Parametersratio: the probability. Valid values: 0 to 100.
Return valuestrue or false is returned based on the specified probability. If you set ratio to 100, true is returned. If you set ratio to 0, false is returned.
Examples
rand_hit(80)

crc

ItemDescription
Syntaxcrc(s)
FeatureCalculates a Cyclic Redundancy Check (CRC) digest.
Parameterss: the string for which you want to calculate a CRC digest.
Return valuesThe CRC value of the string specified by the s parameter.
Examples
crc('hello edgescript')

tonumber

ItemDescription
Syntaxtonumber(s [, base])
FeatureConverts a string to the numeric type.
Parameters
  • s: the string that you want to convert.
  • base: the positional notation that you want to use to convert the string. Valid values: 10 and 16. Default value: 10.
Examples
n = tonumber('100')
say(concat('tonumber()=', n))

Output: tonumber()=100

base64_enc_safe

ItemDescription
Syntaxbase64_enc_safe(str)
FeatureEncodes a string in Base64. In the encoded string, plus signs (+) are replaced by minus signs (-), forward slashes (/) are replaced by underscores (_), and equal signs (=) are removed.
Parametersstr: the string that you want to encode.
Return valuesA Base64-encoded string.
Examples
add_rsp_header('X-RESPOND-OUTPUT', concat('base64_enc_safe=', base64_enc_safe('hello, dsl')), true)
Response header:
X-RESPOND-OUTPUT: base64_enc_safe=aGVsbG8sIGRzbA

base64_dec_safe

ItemDescription
Syntaxbase64_dec_safe(str)
FeatureDecodes a Base64-encoded string. In the decoded string, minus signs (-) are replaced by plus signs (+) and underscores (_) are replaced by forward slashes (/). Equal signs (=) are added to the end of the string to ensure that the string is padded to a multiple of four characters.
Parametersstr: the Base64-encoded string that you want to decode.
Return valuesA decoded raw string.
Examples
add_rsp_header('X-RESPOND-OUTPUT', concat('base64_dec_safe=', base64_dec_safe(base64_enc_safe('hello, dsl'))), true)
Response header:
X-RESPOND-OUTPUT:base64_dec_safe=hello, dsl