Tous les produits
Search
Centre de documentation

ApsaraVideo VOD:Fonctions diverses

Dernière mise à jour :Aug 27, 2026

Cette rubrique présente les fonctions utilitaires disponibles dans EdgeScript : encodage et décodage, génération de nombres aléatoires, sommes de contrôle, conversion de type et génération d'identifiants uniques.

Encodage et décodage Base64

EdgeScript propose deux variantes de Base64 : le Base64 standard (base64_enc / base64_dec) et le Base64 sécurisé pour les URL (base64_enc_safe / base64_dec_safe). Utilisez la variante standard pour l'encodage général ; privilégiez la variante sécurisée lorsque la chaîne encodée apparaît dans des URL ou des en-têtes HTTP.

base64_enc

Encode une chaîne au format Base64 standard.

Syntaxe

base64_enc(s [, no_padding])

Paramètres

Paramètre

Description

s

Chaîne à encoder.

no_padding

Indique s'il faut omettre les caractères de remplissage. Définissez ce paramètre sur true pour supprimer les caractères = de fin. Valeur par défaut : false.

Valeur de retour

Renvoie une chaîne encodée en Base64.

Exemple

if $http_data {
  decdata = base64_dec($http_data)
  say(concat('base64_decdata=', decdata))
  say(concat('base64_encdata=', base64_enc('hello, dsl')))
}

En-tête de requête : data: aGVsbG8sIGRzbA==

Sortie :

base64_decdata=hello, dsl
base64_encdata=aGVsbG8sIGRzbA==

base64_dec

Décode une chaîne encodée en Base64.

Syntaxe

base64_dec(s)

Paramètres

Paramètre

Description

s

Chaîne encodée en Base64 à décoder.

Valeur de retour

Renvoie la chaîne brute décodée.

Exemple

if $http_data {
  decdata = base64_dec($http_data)
  say(concat('base64_decdata=', decdata))
  say(concat('base64_encdata=', base64_enc('hello, dsl')))
}

En-tête de requête : data: aGVsbG8sIGRzbA==

Sortie :

base64_decdata=hello, dsl
base64_encdata=aGVsbG8sIGRzbA==

base64_enc_safe

Encode une chaîne au format Base64 sécurisé pour les URL. Dans la sortie, le caractère + est remplacé par -, le caractère / est remplacé par _ et les caractères de remplissage = sont supprimés.

Syntaxe

base64_enc_safe(str)

Paramètres

Paramètre

Description

str

Chaîne à encoder.

Valeur de retour

Renvoie une chaîne encodée en Base64 sécurisé pour les URL.

Exemple

add_rsp_header('X-RESPOND-OUTPUT', concat('base64_enc_safe=', base64_enc_safe('hello, dsl')), true)

En-tête de réponse :

X-RESPOND-OUTPUT: base64_enc_safe=aGVsbG8sIGRzbA

base64_dec_safe

Décode une chaîne encodée en Base64 sécurisé pour les URL. Avant le décodage, le caractère - est remplacé par + et le caractère _ est remplacé par /. Les caractères de remplissage (=) sont ajoutés si nécessaire pour que la longueur de la chaîne soit un multiple de quatre.

Syntaxe

base64_dec_safe(str)

Paramètres

Paramètre

Description

str

Chaîne encodée en Base64 sécurisé pour les URL à décoder.

Valeur de retour

Renvoie la chaîne brute décodée.

Exemple

add_rsp_header('X-RESPOND-OUTPUT', concat('base64_dec_safe=', base64_dec_safe(base64_enc_safe('hello, dsl'))), true)

En-tête de réponse :

X-RESPOND-OUTPUT: base64_dec_safe=hello, dsl

Encodage et décodage d'URL

url_escape

Encode une chaîne au format URL (percent-encoding).

Syntaxe

url_escape(s)

Paramètres

Paramètre

Description

s

Chaîne à encoder.

Valeur de retour

Renvoie une chaîne encodée pour les URL.

Exemple

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))
}

Sortie :

raw=/abc/123/ dd/file.m3u8
esdata=%2Fabc%2F123%2F%20dd%2Ffile.m3u8
dsdata=/abc/123/ dd/file.m3u8

url_unescape

Décode une chaîne encodée pour les URL.

Syntaxe

url_unescape(s)

Paramètres

Paramètre

Description

s

Chaîne encodée pour les URL à décoder.

Valeur de retour

Renvoie la chaîne brute décodée.

Exemple

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))
}

Sortie :

raw=/abc/123/ dd/file.m3u8
esdata=%2Fabc%2F123%2F%20dd%2Ffile.m3u8
dsdata=/abc/123/ dd/file.m3u8

Génération de nombres aléatoires

randomseed

Initialise le générateur de nombres aléatoires. Appelez cette fonction avant rand pour garantir des séquences aléatoires différentes entre les requêtes.

Syntaxe

randomseed()

Paramètres

Aucun.

Valeur de retour

Aucune.

Exemple

randomseed()
r = rand(1, 100)

rand

Renvoie un nombre aléatoire compris dans une plage spécifiée (bornes incluses).

Syntaxe

rand(n1, n2)

Paramètres

Paramètre

Description

n1

Borne inférieure.

n2

Borne supérieure.

La valeur renvoyée satisfait la condition n1 <= result <= n2.

Valeur de retour

Renvoie un nombre aléatoire.

Exemple

r = rand(1, 100)

rand_hit

Renvoie true ou false selon la probabilité spécifiée. Utilisez cette fonction pour mettre en œuvre une répartition du trafic basée sur un pourcentage ou des déploiements progressifs de fonctionnalités.

Syntaxe

rand_hit(ratio)

Paramètres

Paramètre

Description

ratio

Probabilité de renvoyer true. Valeurs valides : 0–100. Une valeur de 100 renvoie toujours true ; une valeur de 0 renvoie toujours false.

Valeur de retour

Renvoie true ou false.

Exemple

rand_hit(80)

rand_bytes

Génère une chaîne numérique aléatoire de la longueur spécifiée.

Syntaxe

rand_bytes(len)

Paramètres

Paramètre

Description

len

Longueur de la chaîne numérique aléatoire à générer.

Valeur de retour

Renvoie la chaîne numérique aléatoire générée.

Exemple

rand_bytes(16)

Somme de contrôle

crc

Calcule une valeur de contrôle de redondance cyclique (CRC) pour une chaîne.

Syntaxe

crc(s)

Paramètres

Paramètre

Description

s

Chaîne pour laquelle calculer la valeur CRC.

Valeur de retour

Renvoie la valeur CRC de la chaîne d'entrée.

Exemple

crc('hello edgescript')

Conversion de type

tonumber

Convertit une chaîne en type numérique.

Syntaxe

tonumber(s [, base])

Paramètres

Paramètre

Description

s

Chaîne à convertir.

base

Base pour la conversion numérique. Valeurs valides : 10 (décimal) et 16 (hexadécimal). Valeur par défaut : 10.

Valeur de retour

Renvoie un nombre.

Exemple

n = tonumber('100')
say(concat('tonumber()=', n))

Sortie :

tonumber()=100

Identifiant unique

uuid

Renvoie une chaîne UUID générée aléatoirement.

Syntaxe

uuid()

Paramètres

Aucun.

Valeur de retour

Renvoie une chaîne UUID. Exemple : 16903a86-4173-4dea-842c-926c5860fe05.

Exemple

say(uuid())

Sortie :

16903a86-4173-4dea-842c-926c5860fe05