All Products
Search
Document Center

ApsaraVideo VOD:Miscellaneous functions

Last Updated:Jul 10, 2026

Miscellaneous functions provide Base64 encoding and decoding, URL encoding and decoding, random number generation, CRC calculation, type conversion, and UUID generation.

base64_enc

Details:
Item Description
Syntax base64_enc(s [, no_padding])
Description Encodes a string in Base64.
Parameter
  • 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 value Returns a Base64-encoded string.
Example
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

Details:
Item Description
Syntax base64_dec(s)
Description Decodes a Base64-encoded string.
Parameter s: the string that you want to decode.
Return value Returns a decoded raw string.
Example
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

Details:
Item Description
Syntax url_escape(s)
Description Uses URL encoding to encode a string.
Parameter s: the string to be decoded.
Return value Returns a URL-encoded string.
Example
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

url_unescape

Details:
Item Description
Syntax url_unescape(s)
Description Decodes a URL-encoded string.
Parameter s: the string that you want to decode.
Return value Returns a decoded raw string.
Example
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

rand

Details:
Item Description
Syntax rand(n1, n2)
Description Generates a random number in the range n1 <= returned number <= n2.
Parameter
  • n1: the minimum value.
  • n2: the maximum value.
Return value Returns a random number.
Example
r = rand(1,100)

rand_hit

Details:
Item Description
Syntax rand_hit(ratio)
Description Returns true or false based on the specified probability.
Parameter ratio: the probability. Valid values: 0 to 100.
Return value Returns true or false based on the specified probability. A ratio of 100 always returns true. A ratio of 0 always returns false.
Example
rand_hit(80)

crc

Details:
Item Description
Syntax crc(s)
Description Calculates the CRC value of a string.
Parameter s: the string for which you want to calculate a CRC digest.
Return value Returns the CRC value of the string specified by the s parameter.
Example
crc('hello edgescript')

tonumber

Details:
Item Description
Syntax tonumber(s [, base])
Description Converts a string to a number.
Parameter
  • s: the string that you want to convert.
  • base: the numeral system for conversion. Valid values: 10 and 16. Default value: 10.
Example
n = tonumber('100')
say(concat('tonumber()=', n))

Output: tonumber()=100

base64_enc_safe

Details:
Item Description
Syntax base64_enc_safe(str)
Description Encodes 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.
Parameter str: the string that you want to encode.
Return value Returns a URL-safe Base64-encoded string.
Example
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

Details:
Item Description
Syntax base64_dec_safe(str)
Description Decodes 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.
Parameter str: the Base64-encoded string that you want to decode.
Return value Returns a decoded raw string.
Example
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

randomseed

Details:
Item Description
Syntax randomseed()
Description Generates a random seed.
Parameter N/A
Return value N/A
Example
randomseed()
r = rand(1,100)

rand_bytes

Details:
Item Description
Syntax rand_bytes(len)
Description Generates a random byte string.
Parameter len: the length of the generated random byte string.
Return value Returns the generated random byte string.
Example
rand_bytes(16)

uuid

Details:
Item Description
Syntax uuid().
Description Generates and returns a UUID string.
Parameter None
Return value Returns a UUID. Example: 16903a86-4173-4 dea-842c-926c5860fe05.
Example
rand_bytes(say(uuid()))
Output: 16903a86-4173-4 dea-842c-926c5860fe05.