All Products
Search
Document Center

PolarDB:UTL_ENCODE

Last Updated:Aug 27, 2026

Paket UTL_ENCODE menyediakan metode untuk meng-encode dan mendekode data.

BASE64_ENCODE

Fungsi BASE64_ENCODE mengonversi string RAW atau TEXT ke dalam format Base64. Fungsi ini memiliki dua sintaks berikut:

  • BASE64_ENCODE(r IN RAW)
  • BASE64_ENCODE(loid IN OID)

Fungsi ini mengembalikan nilai dalam format RAW atau OID.

Parameter

Parameter Name

Description

r

Menentukan string RAW yang akan dikonversi ke format Base64.

loid

Menentukan ID objek dari large object yang akan dikonversi ke format Base64.

Example

Catatan

Sebelum menjalankan contoh berikut, eksekusi perintah ini untuk menginstruksikan server agar mengabaikan karakter non-printable dan menampilkan nilai BYTEA atau RAW dalam format yang dapat dibaca di layar:

SET bytea_output = escape;

Untuk informasi lebih lanjut, lihat Postgres core documentation.

Anda dapat menggunakan fungsi BASE64_ENCODE untuk mengonversi string ke format Base64. Berikut contohnya:

SELECT UTL_ENCODE.BASE64_ENCODE(CAST ('abc' AS RAW));

Hasil berikut dikembalikan:

 base64_encode
---------------
 YWJj
(1 row)

BASE64_DECODE

Fungsi BASE64_DECODE mendekode string dalam format Base64 kembali ke nilai aslinya yang sebelumnya di-encode oleh fungsi BASE64_ENCODE. Sintaksnya adalah sebagai berikut:

BASE64_DECODE(r IN RAW)

Fungsi ini mengembalikan nilai dalam format RAW.

Parameters

Parameter Name

Description

r

String dalam format Base64 yang di-encode oleh fungsi BASE64_ENCODE.

Example

Catatan

Sebelum menjalankan contoh berikut, eksekusi perintah ini untuk menginstruksikan server agar mengabaikan karakter non-printable dan menampilkan nilai BYTEA atau RAW dalam format yang dapat dibaca di layar:

SET bytea_output = escape;

Untuk informasi lebih lanjut, lihat Postgres core documentation.

Anda dapat menggunakan fungsi BASE64_DECODE untuk mengonversi string dalam format Base64 ke format RAW:

SELECT UTL_ENCODE.BASE64_DECODE(CAST ('YWJj' AS RAW));

Hasil berikut dikembalikan:

 base64_decode
---------------
 abc
(1 row)

MIMEHEADER_ENCODE

Fungsi MIMEHEADER_ENCODE mengonversi string ke format header Multipurpose Internet Mail Extensions (MIME), lalu meng-encode string tersebut. Sintaksnya adalah sebagai berikut:

MIMEHEADER_ENCODE(buf IN VARCHAR2, encode_charset IN VARCHAR2 DEFAULT NULL, encoding IN INTEGER DEFAULT NULL)

Fungsi ini mengembalikan nilai dalam format VARCHAR2.

Parameters

Parameter Name

Description

buf

String yang akan diformat dan di-encode. String ini merupakan nilai VARCHAR2.

encode_charset

Menentukan set karakter ke mana string dikonversi sebelum diformat dan di-encode. Nilai default-nya adalah NULL.

encoding

Menentukan jenis encoding yang digunakan saat meng-encode string. Anda dapat menentukan salah satu dari dua jenis encoding berikut:

  • Tentukan Q untuk mengaktifkan jenis encoding Quoted-printable.

  • Tentukan B untuk mengaktifkan jenis encoding Base-64.

Catatan

Nilai default-nya adalah encoding Quoted-printable.

Example

Anda dapat menggunakan fungsi MIMEHEADER_ENCODE untuk meng-encode string. Berikut contohnya:

SELECT UTL_ENCODE.MIMEHEADER_ENCODE('What is the date?') FROM DUAL;

Hasil berikut dikembalikan:

      mimeheader_encode
------------------------------
 =?UTF8?Q?What is the date??=
(1 row)

MIMEHEADER_DECODE

Fungsi MIMEHEADER_DECODE mendekode nilai yang sebelumnya di-encode oleh fungsi MIMEHEADER_ENCODE. Sintaksnya adalah sebagai berikut:

MIMEHEADER_DECODE(buf IN VARCHAR2)

Fungsi ini mengembalikan nilai dalam format VARCHAR2.

Parameters

Parameter Name

Description

buf

Nilai yang akan didekode, yang sebelumnya di-encode oleh fungsi MIMEHEADER_ENCODE.

Example

Anda dapat menggunakan fungsi MIMEHEADER_DECODE untuk mendekode string yang sebelumnya di-encode oleh fungsi MIMEHEADER_ENCODE. Berikut contohnya:

SELECT UTL_ENCODE.MIMEHEADER_DECODE('=?UTF8?Q?What is the date??=') FROM DUAL;

Hasil berikut dikembalikan:

 mimeheader_decode
-------------------
 What is the date?
(1 row)

QUOTED_PRINTABLE_ENCODE

Fungsi QUOTED_PRINTABLE_ENCODE mengonversi dan meng-encode string ke dalam format Quoted-printable. Sintaksnya adalah sebagai berikut:

QUOTED_PRINTABLE_ENCODE(r IN RAW)

Fungsi ini mengembalikan nilai dalam format RAW.

Parameters

Parameter name

Description

r

String yang akan di-encode ke dalam format Quoted-printable.

Example

Catatan

Sebelum menjalankan contoh berikut, eksekusi perintah ini untuk menginstruksikan server agar mengabaikan karakter non-printable dan menampilkan nilai BYTEA atau RAW dalam format yang dapat dibaca di layar:

SET bytea_output = escape;

Untuk informasi lebih lanjut, lihat Postgres core documentation.

Anda dapat menggunakan fungsi QUOTED_PRINTABLE_ENCODE untuk meng-encode string. Berikut contohnya:

SELECT UTL_ENCODE.QUOTED_PRINTABLE_ENCODE('E=mc2') FROM DUAL;

Hasil berikut dikembalikan:

 quoted_printable_encode
-------------------------
 E=3Dmc2
(1 row)

QUOTED_PRINTABLE_DECODE

Fungsi QUOTED_PRINTABLE_DECODE mengonversi string yang di-encode dalam format Quoted-printable menjadi string RAW yang telah didekode. Sintaksnya adalah sebagai berikut:

QUOTED_PRINTABLE_DECODE(r IN RAW)

Fungsi ini mengembalikan nilai dalam format RAW.

Parameters

Parameter name

Description

r

String yang di-encode oleh fungsi QUOTED_PRINTABLE_ENCODE. String ini merupakan nilai RAW.

Example

Catatan

Sebelum menjalankan contoh berikut, eksekusi perintah ini untuk menginstruksikan server agar mengabaikan karakter non-printable dan menampilkan nilai BYTEA atau RAW dalam format yang dapat dibaca di layar:

SET bytea_output = escape;

Untuk informasi lebih lanjut, lihat Postgres core documentation.

Anda dapat menggunakan fungsi QUOTED_PRINTABLE_DECODE untuk mendekode string. Berikut contohnya:

SELECT UTL_ENCODE.QUOTED_PRINTABLE_DECODE('E=3Dmc2') FROM DUAL;

Hasil berikut dikembalikan:

 quoted_printable_decode
-------------------------
 E=mc2
(1 row)

TEXT_ENCODE

Fungsi TEXT_ENCODE mengonversi string ke set karakter tertentu, lalu meng-encode string tersebut. Sintaksnya adalah sebagai berikut:

TEXT_DECODE(buf IN VARCHAR2, encode_charset IN VARCHAR2 DEFAULT NULL, encoding IN PLS_INTEGER DEFAULT NULL)

Fungsi ini mengembalikan nilai dalam format VARCHAR2.

Parameters

Parameter name

Description

buf

String yang akan di-encode.

encode_charset

Menentukan set karakter untuk konversi. Nilai default-nya adalah NULL.

encoding

Menentukan jenis encoding yang digunakan oleh TEXT_ENCODE. Anda dapat menentukan salah satu dari dua jenis encoding berikut:

  • Tentukan Q untuk mengaktifkan jenis encoding Quoted-printable.

  • Tentukan B untuk mengaktifkan jenis encoding Base-64.

Catatan

Nilai default-nya adalah encoding Quoted-printable.

Example

Anda dapat menggunakan fungsi TEXT_ENCODE untuk meng-encode string. Berikut contohnya:

SELECT UTL_ENCODE.TEXT_ENCODE('What is the date?', 'BIG5', UTL_ENCODE.BASE64) FROM DUAL;

Hasil berikut dikembalikan:

       text_encode
--------------------------
 V2hhdCBpcyB0aGUgZGF0ZT8=
(1 row)

TEXT_DECODE

Fungsi TEXT_DECODE mendekode string yang sebelumnya di-encode oleh fungsi TEXT_ENCODE ke dalam format VARCHAR2. Sintaksnya adalah sebagai berikut:

TEXT_DECODE(buf IN VARCHAR2, encode_charset IN VARCHAR2 DEFAULT NULL, encoding IN PLS_INTEGER DEFAULT NULL)

Fungsi ini mengembalikan nilai dalam format VARCHAR2.

Parameters

Parameter Name

Description

buf

String yang di-encode oleh fungsi TEXT_ENCODE.

encode charset

Menentukan set karakter untuk konversi. Nilai default-nya adalah NULL.

encoding

Menentukan jenis encoding yang digunakan oleh TEXT_DECODE. Anda dapat menentukan salah satu dari dua jenis encoding berikut:

  • UTL_ENCODE.QUOTED_PRINTABLE menentukan encoding Quoted-printable.

  • UTL_ENCODE.BASE64 menentukan encoding Base-64.

Catatan

Nilai default-nya adalah encoding Quoted-printable.

Example

Anda dapat menggunakan fungsi TEXT_DECODE untuk mendekode string. Berikut contohnya:

SELECT UTL_ENCODE.TEXT_DECODE('V2hhdCBpcyB0aGUgZGF0ZT8=', 'BIG5', UTL_ENCODE.BASE64) FROM DUAL;

Hasil berikut dikembalikan:

    text_decode
-------------------
 What is the date?
(1 row)

UUENCODE

Fungsi UUENCODE mengonversi data RAW ke string dalam format UUENCODE. Sintaksnya adalah sebagai berikut:

UUENCODE(r IN RAW, type IN INTEGER DEFAULT 1, filename IN VARCHAR2 DEFAULT NULL, permission IN VARCHAR2 DEFAULT NULL)

Fungsi ini mengembalikan nilai dalam format RAW.

Parameters

Parameter name

Description

r

String yang akan dikonversi ke format UUENCODE.

type

Menentukan jenis string UUENCODED yang dikembalikan. Nilai default-nya adalah 1. Untuk informasi lebih lanjut, lihat Types.

filename

Menentukan nama file yang ingin disematkan dalam bentuk ter-encode. Jika Anda tidak menentukan nama file, UUENCODE menyertakan nama file `uuencode.txt` dalam bentuk ter-encode.

permission

Menentukan pola izin. Nilai default-nya adalah NULL.

Table 1. Types

Value

Constant

1

complete

2

header_piece

3

middle_piece

4

end_piece

Example

Catatan

Sebelum menjalankan contoh berikut, eksekusi perintah ini untuk menginstruksikan server agar mengabaikan karakter non-printable dan menampilkan nilai BYTEA atau RAW dalam format yang dapat dibaca di layar:

SET bytea_output = escape;

Untuk informasi lebih lanjut, lihat Postgres core documentation.

Anda dapat menggunakan fungsi UUENCODE untuk meng-encode string. Berikut contohnya:

SELECT UTL_ENCODE.UUENCODE('What is the date?') FROM DUAL;

Hasil berikut dikembalikan:

                              uuencode
--------------------------------------------------------------------
 begin 0 uuencode.txt\01215VAA="!I<R!T:&4@9&%T93\\`\012`\012end\012
(1 row)

UUDECODE

Fungsi UUDECODE mendekode string UUENCODE kembali ke nilai RAW aslinya yang sebelumnya di-encode oleh fungsi UUENCODE. Sintaksnya adalah sebagai berikut:

UUDECODE(r IN RAW)

Fungsi ini mengembalikan nilai dalam format RAW.

Parameters

Parameter Name

Description

r

Berisi string UUENCODED yang akan dikonversi ke nilai RAW.

Example

Catatan

Sebelum menjalankan contoh berikut, eksekusi perintah ini untuk menginstruksikan server agar mengabaikan karakter non-printable dan menampilkan nilai BYTEA atau RAW dalam format yang dapat dibaca di layar:

SET bytea_output = escape;

Untuk informasi lebih lanjut, lihat Postgres core documentation.

Anda dapat menggunakan fungsi UUDECODE untuk mendekode string. Berikut contohnya:

SELECT UTL_ENCODE.UUDECODE('begin 0 uuencode.txt\01215VAA="!I<R!T:&4@9&%T93\\`\012`\012end\012') FROM DUAL;

Hasil berikut dikembalikan:

     uudecode
-------------------
 What is the date?
(1 row)

polar_enable_base64_decode

Jika parameter polar_enable_base64_decode diatur ke on, fungsi BASE64_DECODE dapat secara otomatis mendeteksi string ter-encode yang diformat salah dan mendekode bagian yang valid dari string tersebut. Untuk informasi lebih lanjut, lihat BASE64_DECODE.

Catatan

Parameter polar_enable_base64_decode diatur ke on secara default. Anda dapat memodifikasi parameter ini di Konsol. Untuk informasi lebih lanjut, lihat Set cluster parameters.

  • Jika parameter polar_enable_base64_decode diatur ke on, Anda dapat memberikan string ter-encode yang diformat salah. Berikut contohnya:

    SELECT utl_encode.base64_decode(utl_raw.cast_to_raw('NjMzNDgwN==gNjMzNjMz'));

    Fungsi BASE64_DECODE mendekode bagian yang valid dari string tersebut. Contoh berikut menunjukkan pengembalian normal:

     base64_decode 
    ---------------
     633480
    (1 row)
  • Jika parameter polar_enable_base64_decode diatur ke off, Anda dapat memberikan string ter-encode yang diformat salah. Berikut contohnya:

    SELECT utl_encode.base64_decode(utl_raw.cast_to_raw('NjMzNDgwN==gNjMzNjMz'));

    Fungsi BASE64_DECODE tidak dapat mendekode string yang diformat salah. Contoh berikut menunjukkan pengembalian error:

    ERROR:  unexpected "=" while decoding base64 sequence