Paket UTL_ENCODE menyediakan kemampuan enkode dan dekode.
BASE64_ENCODE
Fungsi BASE64_ENCODE mengonversi string RAW atau TEXT menjadi string yang di-enkode dalam format Base64. Anda dapat menggunakan dua sintaksis berikut untuk fungsi ini:
BASE64_ENCODE(r IN RAW)BASE64_ENCODE(loid IN OID)
Fungsi ini mengembalikan nilai RAW atau ID objek.
Parameter
Parameter | Deskripsi |
r | Menentukan string RAW yang akan dikonversi ke string yang di-enkode dalam format Base64. |
loid | Menentukan ID dari objek besar yang akan dikonversi ke string yang di-enkode dalam format Base64. |
Examples
Sebelum menjalankan contoh berikut, jalankan perintah berikut untuk menginstruksikan server agar meloloskan karakter non-cetak dan menampilkan nilai BYTEA atau RAW dalam bentuk yang dapat dibaca di layar Anda:
SET bytea_output = escape;Untuk informasi lebih lanjut, lihat file inti PostgreSQL.
Gunakan fungsi BASE64_ENCODE untuk mengonversi string menjadi string yang di-enkode dalam format Base64. Contoh:
SELECT UTL_ENCODE.BASE64_ENCODE(CAST ('abc' AS RAW));Output serupa dikembalikan:
base64_encode
---------------
YWJj
(1 baris)BASE64_DECODE
Fungsi BASE64_DECODE mengonversi string yang di-enkode dalam format Base64 ke nilai aslinya yang telah di-enkode oleh fungsi BASE64_ENCODE. Sintaksis:
BASE64_DECODE(r IN RAW)Fungsi ini mengembalikan nilai RAW.
Parameter
Parameter | Deskripsi |
r | String setelah di-enkode menggunakan fungsi BASE64_ENCODE. |
Examples
Sebelum menjalankan contoh berikut, jalankan perintah berikut untuk menginstruksikan server agar meloloskan karakter non-cetak dan menampilkan nilai BYTEA atau RAW dalam bentuk yang dapat dibaca di layar Anda:
SET bytea_output = escape;Untuk informasi lebih lanjut, lihat file inti PostgreSQL.
Gunakan fungsi BASE64_DECODE untuk mengonversi string yang di-enkode dalam format Base64 menjadi nilai RAW.
SELECT UTL_ENCODE.BASE64_DECODE(CAST ('YWJj' AS RAW));Output serupa dikembalikan:
base64_decode
---------------
abc
(1 baris)MIMEHEADER_ENCODE
Fungsi MIMEHEADER_ENCODE mengonversi string ke format header MIME dan kemudian meng-enkode string tersebut.
MIMEHEADER_ENCODE(buf IN VARCHAR2, encode_charset IN VARCHAR2 DEFAULT NULL, encoding IN INTEGER DEFAULT NULL)Fungsi ini mengembalikan nilai VARCHAR2.
Parameter
Parameter | Deskripsi |
buf | Menentukan string yang akan diformat dan di-enkode. String tersebut harus berupa nilai VARCHAR2. |
encode_charset | Menentukan set karakter yang ingin Anda gunakan untuk string hasil konversi dari string input. Fungsi ini mengonversi string input ke string yang sesuai dengan menggunakan set karakter yang ditentukan sebelum fungsi memformat dan meng-enkode string input. Nilai default: NULL. |
encoding | Menentukan tipe enkode yang digunakan untuk meng-enkode string. Nilai valid:
Catatan Secara default, quoted-printable encoding digunakan. |
Examples
Gunakan fungsi MIMEHEADER_ENCODE untuk meng-enkode string. Contoh:
SELECT UTL_ENCODE.MIMEHEADER_ENCODE('What is the date?') FROM DUAL;Output serupa dikembalikan:
mimeheader_encode
------------------------------
=?UTF8?Q?What is the date??=
(1 baris)MIMEHEADER_DECODE
Fungsi MIMEHEADER_DECODE mendekode nilai yang telah di-enkode oleh fungsi MIMEHEADER_ENCODE. Sintaksis:
MIMEHEADER_DECODE(buf IN VARCHAR2)Fungsi ini mengembalikan nilai VARCHAR2.
Parameter
Parameter | Deskripsi |
buf | Menentukan nilai yang akan didekode. Nilai tersebut telah di-enkode oleh fungsi MIMEHEADER_ENCODE. |
Examples
Gunakan fungsi MIMEHEADER_DECODE untuk mendekode string yang telah di-enkode oleh fungsi MIMEHEADER_ENCODE. Contoh:
SELECT UTL_ENCODE.MIMEHEADER_DECODE('=?UTF8?Q?What is the date??=') FROM DUAL;Output serupa dikembalikan:
mimeheader_decode
-------------------
What is the date?
(1 baris)QUOTED_PRINTABLE_ENCODE
Fungsi QUOTED_PRINTABLE_ENCODE mengonversi string dan meng-enkode string tersebut dalam format quoted-printable. Sintaksis:
QUOTED_PRINTABLE_ENCODE(r IN RAW)Fungsi ini mengembalikan nilai RAW.
Parameter
Parameter | Deskripsi |
r | Menentukan string yang akan di-enkode dalam format quoted-printable. |
Examples
Sebelum menjalankan contoh berikut, jalankan perintah berikut untuk menginstruksikan server agar meloloskan karakter non-cetak dan menampilkan nilai BYTEA atau RAW dalam bentuk yang dapat dibaca di layar Anda:
SET bytea_output = escape;Untuk informasi lebih lanjut, lihat file inti PostgreSQL.
Gunakan fungsi QUOTED_PRINTABLE_ENCODE untuk meng-enkode string. Contoh:
SELECT UTL_ENCODE.QUOTED_PRINTABLE_ENCODE('E=mc2') FROM DUAL;Output serupa dikembalikan:
quoted_printable_encode
-------------------------
E=3Dmc2
(1 baris)QUOTED_PRINTABLE_DECODE
Fungsi QUOTED_PRINTABLE_DECODE mendekode string quoted-printable yang telah di-enkode menjadi string RAW. Sintaksis:
QUOTED_PRINTABLE_DECODE(r IN RAW)Fungsi ini mengembalikan nilai RAW.
Parameter
Parameter | Deskripsi |
r | Menentukan string yang akan di-enkode menggunakan fungsi QUOTED_PRINTABLE_ENCODE. String tersebut adalah nilai RAW. |
Examples
Sebelum menjalankan contoh berikut, jalankan perintah berikut untuk menginstruksikan server agar meloloskan karakter non-cetak dan menampilkan nilai BYTEA atau RAW dalam bentuk yang dapat dibaca di layar Anda:
SET bytea_output = escape;Untuk informasi lebih lanjut, lihat file inti PostgreSQL.
Gunakan fungsi QUOTED_PRINTABLE_DECODE untuk mendekode string. Contoh:
SELECT UTL_ENCODE.QUOTED_PRINTABLE_DECODE('E=3Dmc2') FROM DUAL;Output serupa dikembalikan:
quoted_printable_decode
-------------------------
E=mc2
(1 baris)TEXT_ENCODE
Fungsi TEXT_ENCODE mengonversi string input menjadi string yang menggunakan set karakter yang ditentukan dan kemudian meng-enkode string hasil konversi. Sintaksis:
TEXT_DECODE(buf IN VARCHAR2, encode_charset IN VARCHAR2 DEFAULT NULL, encoding IN PLS_INTEGER DEFAULT NULL)Fungsi ini mengembalikan nilai VARCHAR2.
Parameter
Parameter | Deskripsi |
buf | Menentukan string yang akan di-enkode. |
encode_charset | Menentukan set karakter yang ditentukan untuk konversi. Nilai default: NULL. |
encoding | Menentukan tipe enkode yang akan digunakan oleh fungsi TEXT_ENCODE. Nilai valid:
Catatan Secara default, quoted-printable encoding digunakan. |
Examples
Gunakan fungsi TEXT_ENCODE untuk meng-enkode string. Contoh:
SELECT UTL_ENCODE.TEXT_ENCODE('What is the date?', 'BIG5', UTL_ENCODE.BASE64) FROM DUAL;Output serupa dikembalikan:
text_encode
--------------------------
V2hhdCBpcyB0aGUgZGF0ZT8=
(1 baris)TEXT_DECODE
Fungsi TEXT_DECODE mengonversi dan mendekode string yang telah di-enkode menjadi nilai VARCHAR2 yang sesuai yang telah di-enkode oleh fungsi TEXT_ENCODE. Sintaksis:
TEXT_DECODE(buf IN VARCHAR2, encode_charset IN VARCHAR2 DEFAULT NULL, encoding IN PLS_INTEGER DEFAULT NULL)Fungsi ini mengembalikan nilai VARCHAR2.
Parameter
Parameter | Deskripsi |
buf | Menentukan string yang telah di-enkode menggunakan fungsi TEXT_ENCODE. |
encode charset | Menentukan set karakter yang ditentukan untuk konversi. Nilai default: NULL. |
encoding | Menentukan tipe enkode yang akan digunakan oleh fungsi TEXT_DECODE. Nilai valid:
Catatan Secara default, quoted-printable encoding digunakan. |
Examples
Gunakan fungsi TEXT_DECODE untuk mendekode string. Contoh:
SELECT UTL_ENCODE.TEXT_DECODE('V2hhdCBpcyB0aGUgZGF0ZT8=', 'BIG5', UTL_ENCODE.BASE64) FROM DUAL;Output serupa dikembalikan:
text_decode
-------------------
What is the date?
(1 baris)UUENCODE
Fungsi UUENCODE meng-enkode string RAW menjadi string uuencoded. Sintaksis:
UUENCODE(r IN RAW, type IN INTEGER DEFAULT 1, filename IN VARCHAR2 DEFAULT NULL, permission IN VARCHAR2 DEFAULT NULL)Fungsi ini mengembalikan nilai RAW.
Parameter
Parameter | Deskripsi |
r | Menentukan string yang akan dikonversi menjadi string uuencoded. |
type | Menentukan tipe string UUENCODED yang akan dikembalikan. Nilai default: 1. Untuk informasi lebih lanjut, lihat Type. |
filename | Menentukan nama file yang ingin Anda sertakan dalam string uuencoded. Jika Anda tidak menentukan nama file, fungsi UUENCODE menyertakan nama file uuencode.txt dalam string yang di-enkode. |
permission | Menentukan mode izin. Nilai default: NULL. |
Tabel 1. Type
Nilai Valid | Konstanta |
1 | complete |
2 | header_piece |
3 | middle_piece |
4 | end_piece |
Examples
Sebelum menjalankan contoh berikut, jalankan perintah berikut untuk menginstruksikan server agar meloloskan karakter non-cetak dan menampilkan nilai BYTEA atau RAW dalam bentuk yang dapat dibaca di layar Anda:
SET bytea_output = escape;Untuk informasi lebih lanjut, lihat file inti PostgreSQL.
Gunakan fungsi UUENCODE untuk meng-enkode string. Contoh:
SELECT UTL_ENCODE.UUENCODE('What is the date?') FROM DUAL;Output serupa dikembalikan:
uuencode
--------------------------------------------------------------------
begin 0 uuencode.txt\01215VAA="!I<R!T:&4@9&%T93\\`\012`\012end\012
(1 baris)UUDECODE
Fungsi UUDECODE mengonversi dan mendekode string uuencoded menjadi nilai RAW yang telah di-enkode oleh fungsi UUENCODE. Sintaksis:
UUDECODE(r IN RAW)Fungsi ini mengembalikan nilai RAW.
Parameter
Parameter | Deskripsi |
r | Menentukan string UUENCODED yang akan dikonversi menjadi nilai RAW-nya. |
Examples
Sebelum menjalankan contoh berikut, jalankan perintah berikut untuk menginstruksikan server agar meloloskan karakter non-cetak dan menampilkan nilai BYTEA atau RAW dalam bentuk yang dapat dibaca di layar Anda:
SET bytea_output = escape;Untuk informasi lebih lanjut, lihat file inti PostgreSQL.
Gunakan fungsi UUDECODE untuk mendekode string. Contoh:
SELECT UTL_ENCODE.UUDECODE('begin 0 uuencode.txt\01215VAA="!I<R!T:&4@9&%T93\\`\012`\012end\012') FROM DUAL;Output serupa dikembalikan:
uudecode
-------------------
What is the date?
(1 baris)polar_enable_base64_decode
Jika Anda mengatur parameter polar_enable_base64_decode ke on, fungsi BASE64_DECODE secara otomatis mengidentifikasi string input yang di-enkode dalam format tidak valid. Kemudian, fungsi tersebut mendekode bagian pertama yang valid dari string yang di-enkode. Untuk informasi lebih lanjut tentang fungsi BASE64_DECODE, lihat BASE64_DECODE.
Secara default, parameter polar_enable_base64_decode diatur ke on. Anda dapat memodifikasi nilai tersebut di konsol. Untuk informasi lebih lanjut, lihat Konfigurasi parameter kluster.
Kode berikut menunjukkan contoh string yang di-enkode saat parameter
polar_enable_base64_decodediatur ke on:SELECT utl_encode.base64_decode(utl_raw.cast_to_raw('NjMzNDgwN==gNjMzNjMz'));Fungsi BASE64_DECODE mendekode bagian pertama yang valid dari string yang di-enkode. Respon sukses sampel berikut dikembalikan:
base64_decode --------------- 633480 (1 baris)Kode berikut menunjukkan contoh string yang di-enkode setelah parameter
polar_enable_base64_decodediatur ke off:SELECT utl_encode.base64_decode(utl_raw.cast_to_raw('NjMzNDgwN==gNjMzNjMz'));Fungsi BASE64_DECODE tidak dapat mendekode string yang di-enkode dalam format tidak valid. Respon kesalahan serupa dikembalikan:
ERROR: unexpected "=" while decoding base64 sequence