All Products
Search
Document Center

CDN:Fungsi-fungsi lainnya

Last Updated:Apr 01, 2026

Halaman ini mencakup fungsi utilitas yang tersedia di EdgeScript: pengkodean dan penguraian, pembangkitan bilangan acak, checksum, konversi tipe, serta pembangkitan pengenal unik.

Pengkodean dan penguraian Base64

EdgeScript menyediakan dua varian Base64: Base64 standar (base64_enc / base64_dec) dan Base64 yang aman untuk URL (base64_enc_safe / base64_dec_safe). Gunakan varian standar untuk pengkodean umum; gunakan varian yang aman untuk URL ketika string terkode muncul dalam URL atau Header HTTP.

base64_enc

Mengkodekan string menggunakan pengkodean Base64 standar.

Sintaks

base64_enc(s [, no_padding])

Parameter

ParameterDeskripsi
sString yang akan dikodekan.
no_paddingMenentukan apakah karakter padding dihilangkan. Atur ke true untuk menghapus karakter = di akhir. Nilai default: false.

Nilai kembalian

Mengembalikan string yang telah dikodekan Base64.

Contoh

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

Header permintaan: data: aGVsbG8sIGRzbA==

Output:

base64_decdata=hello, dsl
base64_encdata=aGVsbG8sIGRzbA==

base64_dec

Menguraikan string yang telah dikodekan Base64.

Sintaks

base64_dec(s)

Parameter

ParameterDeskripsi
sString yang telah dikodekan Base64 yang akan diuraikan.

Nilai kembalian

Mengembalikan string mentah hasil penguraian.

Contoh

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

Header permintaan: data: aGVsbG8sIGRzbA==

Output:

base64_decdata=hello, dsl
base64_encdata=aGVsbG8sIGRzbA==

base64_enc_safe

Mengkodekan string menggunakan pengkodean Base64 yang aman untuk URL. Dalam output, + diganti dengan -, / diganti dengan _, dan karakter padding = dihapus.

Sintaks

base64_enc_safe(str)

Parameter

ParameterDeskripsi
strString yang akan dikodekan.

Nilai kembalian

Mengembalikan string yang telah dikodekan Base64 yang aman untuk URL.

Contoh

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

Header respons:

X-RESPOND-OUTPUT: base64_enc_safe=aGVsbG8sIGRzbA

base64_dec_safe

Menguraikan string yang telah dikodekan Base64 yang aman untuk URL. Sebelum penguraian, - diganti dengan + dan _ diganti dengan /. Karakter padding (=) ditambahkan sesuai kebutuhan agar panjang string menjadi kelipatan empat.

Sintaks

base64_dec_safe(str)

Parameter

ParameterDeskripsi
strString yang telah dikodekan Base64 yang aman untuk URL yang akan diuraikan.

Nilai kembalian

Mengembalikan string mentah hasil penguraian.

Contoh

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

Header respons:

X-RESPOND-OUTPUT: base64_dec_safe=hello, dsl

Pengkodean dan penguraian URL

url_escape

Mengkodekan string menggunakan pengkodean URL (percent-encoding).

Sintaks

url_escape(s)

Parameter

ParameterDeskripsi
sString yang akan dikodekan.

Nilai kembalian

Mengembalikan string yang telah dikodekan URL.

Contoh

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

Menguraikan string yang telah dikodekan URL.

Sintaks

url_unescape(s)

Parameter

ParameterDeskripsi
sString yang telah dikodekan URL yang akan diuraikan.

Nilai kembalian

Mengembalikan string mentah hasil penguraian.

Contoh

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

Pembangkitan bilangan acak

randomseed

Menginisialisasi penghasil angka acak. Panggil fungsi ini sebelum rand untuk memastikan urutan acak berbeda pada setiap permintaan.

Sintaks

randomseed()

Parameter

Tidak ada.

Nilai kembalian

Tidak ada.

Contoh

randomseed()
r = rand(1, 100)

rand

Mengembalikan bilangan acak dalam rentang tertentu (inklusif).

Sintaks

rand(n1, n2)

Parameter

ParameterDeskripsi
n1Batas bawah.
n2Batas atas.

Nilai yang dikembalikan memenuhi n1 <= result <= n2.

Nilai kembalian

Mengembalikan bilangan acak.

Contoh

r = rand(1, 100)

rand_hit

Mengembalikan true atau false berdasarkan probabilitas yang ditentukan. Gunakan fungsi ini untuk menerapkan pemisahan lalu lintas berbasis persentase atau peluncuran fitur secara bertahap.

Sintaks

rand_hit(ratio)

Parameter

ParameterDeskripsi
ratioProbabilitas mengembalikan true. Nilai valid: 0–100. Nilai 100 selalu mengembalikan true; nilai 0 selalu mengembalikan false.

Nilai kembalian

Mengembalikan true atau false.

Contoh

rand_hit(80)

rand_bytes

Membangkitkan string numerik acak dengan panjang tertentu.

Sintaks

rand_bytes(len)

Parameter

ParameterDeskripsi
lenPanjang string numerik acak yang akan dibangkitkan.

Nilai kembalian

Mengembalikan string numerik acak yang dibangkitkan.

Contoh

rand_bytes(16)

Checksum

crc

Menghitung nilai Cyclic Redundancy Check (CRC) untuk sebuah string.

Sintaks

crc(s)

Parameter

ParameterDeskripsi
sString yang akan dihitung nilai CRC-nya.

Nilai kembalian

Mengembalikan nilai CRC dari string input.

Contoh

crc('hello edgescript')

Konversi tipe

tonumber

Mengonversi string ke tipe numerik.

Sintaks

tonumber(s [, base])

Parameter

ParameterDeskripsi
sString yang akan dikonversi.
baseBasis untuk konversi numerik. Nilai valid: 10 (desimal) dan 16 (heksadesimal). Nilai default: 10.

Nilai kembalian

Mengembalikan angka.

Contoh

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

Output:

tonumber()=100

Pengenal unik

uuid

Mengembalikan string UUID yang dibangkitkan secara acak.

Sintaks

uuid()

Parameter

Tidak ada.

Nilai kembalian

Mengembalikan string UUID. Contoh: 16903a86-4173-4dea-842c-926c5860fe05.

Contoh

say(uuid())

Output:

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