All Products
Search
Document Center

CDN:Fungsi-fungsi lainnya

Last Updated:Aug 25, 2026

Halaman ini mencakup fungsi utilitas yang tersedia di EdgeScript: pengkodean dan pendekodean, penghasil angka acak, checksum, konversi tipe, serta pembuatan pengenal unik.

Pengkodean dan pendekodean 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 terenkripsi muncul dalam URL atau Header HTTP.

base64_enc

Mengencode string menggunakan pengkodean Base64 standar.

Sintaksis

base64_enc(s [, no_padding])

Parameter

Parameter

Deskripsi

s

String yang akan diencode.

no_padding

Menentukan apakah karakter padding dihilangkan. Atur ke true untuk menghapus karakter = di akhir. Nilai default: false.

Nilai kembalian

Mengembalikan string yang telah diencode 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

Mendekode string yang telah diencode Base64.

Sintaksis

base64_dec(s)

Parameter

Parameter

Deskripsi

s

String yang telah diencode Base64 yang akan didekode.

Nilai kembalian

Mengembalikan string mentah hasil dekode.

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

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

Sintaksis

base64_enc_safe(str)

Parameter

Parameter

Deskripsi

str

String yang akan diencode.

Nilai kembalian

Mengembalikan string yang telah diencode 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

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

Sintaksis

base64_dec_safe(str)

Parameter

Parameter

Deskripsi

str

String yang telah diencode Base64 yang aman untuk URL yang akan didekode.

Nilai kembalian

Mengembalikan string mentah hasil dekode.

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 pendekodean URL

url_escape

Mengencode string menggunakan pengkodean URL (percent-encoding).

Sintaksis

url_escape(s)

Parameter

Parameter

Deskripsi

s

String yang akan diencode.

Nilai kembalian

Mengembalikan string yang telah diencode 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

Mendekode string yang telah diencode URL.

Sintaksis

url_unescape(s)

Parameter

Parameter

Deskripsi

s

String yang telah diencode URL yang akan didekode.

Nilai kembalian

Mengembalikan string mentah hasil dekode.

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

Penghasil angka acak

randomseed

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

Sintaksis

randomseed()

Parameter

Tidak ada.

Nilai kembalian

Tidak ada.

Contoh

randomseed()
r = rand(1, 100)

rand

Mengembalikan bilangan acak dalam rentang tertentu (inklusif).

Sintaksis

rand(n1, n2)

Parameter

Parameter

Deskripsi

n1

Batas bawah.

n2

Batas 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.

Sintaksis

rand_hit(ratio)

Parameter

Parameter

Deskripsi

ratio

Probabilitas 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

Menghasilkan string numerik acak dengan panjang yang ditentukan.

Sintaksis

rand_bytes(len)

Parameter

Parameter

Deskripsi

len

Panjang string numerik acak yang akan dihasilkan.

Nilai kembalian

Mengembalikan string numerik acak yang dihasilkan.

Contoh

rand_bytes(16)

Checksum

crc

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

Sintaksis

crc(s)

Parameter

Parameter

Deskripsi

s

String 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.

Sintaksis

tonumber(s [, base])

Parameter

Parameter

Deskripsi

s

String yang akan dikonversi.

base

Basis 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 dihasilkan secara acak.

Sintaksis

uuid()

Parameter

Tidak ada.

Nilai kembalian

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

Contoh

say(uuid())

Output:

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