UTL_ENCODE
UTL_ENCODE內(nèi)置包提供了一組進(jìn)行數(shù)據(jù)編解碼的函數(shù),方便數(shù)據(jù)在不同主機(jī)之間的傳輸。
UTL_ENCODE子程序總覽
子程序 | 描述 |
BASE64_DECODE Function | 讀取BASE64編碼的RAW類型輸入數(shù)據(jù),并將其解碼為原始的RAW類型數(shù)據(jù)。 |
BASE64_ENCODE Function | 讀取RAW類型的輸入數(shù)據(jù),將其編碼為BASE64符號(hào)序列并返回對(duì)應(yīng)的RAW類型數(shù)據(jù)。 |
MIMEHEADER_DECODE Function | 解碼MIMEHEADER格式的VARCHAR2字符串。 |
MIMEHEADER_ENCODE Function | 將字符串編碼為MIMEHEADER格式。 |
QUOTED_PRINTABLE_DECODE Function | 讀取RAW類型的QUOTED_PRINTABLE格式輸入,并解碼為對(duì)應(yīng)的RAW類型數(shù)據(jù)。 |
QUOTED_PRINTABLE_ENCODE Function | 讀取RAW類型的QUOTED_PRINTABLE格式輸入,并編碼為對(duì)應(yīng)的RAW類型數(shù)據(jù)。 |
TEXT_DECODE Function | 根據(jù)字符集以及解碼方式解碼字符串。 |
TEXT_ENCODE Function | 根據(jù)字符集以及編碼方式編碼字符串。 |
UUDECODE Function | 讀取RAW類型的UUENCODE格式編碼內(nèi)容,并解碼為對(duì)應(yīng)的RAW類型數(shù)據(jù)。 |
UUENCODE Function | 讀取RAW類型的輸入,并將其編碼為對(duì)應(yīng)的UUENCODE格式的RAW類型數(shù)據(jù)。 |
BASE64_DECODE
該函數(shù)讀取BASE64編碼的RAW類型輸入,并將其解碼為原始的RAW類型數(shù)據(jù)。
語法
UTL_ENCODE.BASE64_DECODE (
r IN RAW)
RETURN RAW;
參數(shù)說明
參數(shù) | 描述 |
r | BASE64編碼的RAW類型數(shù)據(jù)。沒有默認(rèn)值或可選參數(shù)。 |
返回值
返回值 | 描述 |
RAW | 解碼后的RAW類型數(shù)據(jù)。 |
示例
該示例展示了如何將BASE64的編碼數(shù)據(jù)解碼為對(duì)應(yīng)的RAW類型數(shù)據(jù)。
select utl_encode.base64_decode(utl_encode.base64_encode('base64encoding'::raw));
base64_decode
----------------------------
\x626173653634656e636f64696e67
(1 row)
BASE64_ENCODE
該函數(shù)讀取RAW類型的輸入,將其編碼為BASE64符號(hào)序列并返回對(duì)應(yīng)的RAW類型數(shù)據(jù)。
語法
UTL_ENCODE.BASE64_ENCODE (
r IN RAW)
RETURN RAW;
參數(shù)說明
參數(shù) | 描述 |
r | 需要進(jìn)行編碼的RAW類型數(shù)據(jù)。沒有默認(rèn)值或可選參數(shù)。 |
返回值
返回值 | 描述 |
RAW | 編碼后的RAW類型數(shù)據(jù)。 |
示例
該示例展示了如何將輸入的數(shù)據(jù)編碼為BASE64格式的RAW類型數(shù)據(jù)。
select utl_encode.base64_encode('base64encoding'::raw);
base64_encode
------------------------------------
\x596d467a5a5459305a57356a62325270626d633d
(1 row)
MIMEHEADER_DECODE
該函數(shù)將一個(gè)MIMEHEADER格式的輸入字符串解碼為原始字符串。
語法
UTL_ENCODE.MIMEHEADER_DECODE (
buf IN VARCHAR2)
RETURN VARCHAR2;
參數(shù)說明
參數(shù) | 描述 |
buf | MIMEHEADER格式的編碼字符串。 |
返回值
返回值 | 描述 |
VARCHAR2 | 解碼字符串結(jié)果。 |
示例
該示例展示了如何將輸入的MIMEHEADER格式的數(shù)據(jù)進(jìn)行解碼。
select utl_encode.mimeheader_decode('=?UTF8?Q?mimeheaderencoding?=');
mimeheader_decode
--------------------
mimeheaderencoding
(1 row)
MIMEHEADER_ENCODE
該函數(shù)將輸入字符串編碼為MIMEHEADER格式的字符串。
語法
UTL_ENCODE.MIMEHEADER_ENCODE (
buf IN VARCHAR2,
encode_charset IN VARCHAR2 DEFAULT NULL,
encoding IN INTEGER DEFAULT NULL)
RETURN VARCHAR2;
參數(shù)說明
參數(shù) | 描述 |
buf | 待編碼數(shù)據(jù)。 |
encode_charset | 目標(biāo)字符集。 |
encoding | 編碼格式。取值如下:
|
返回值
返回值 | 描述 |
VARCHAR2 | 編碼字符串結(jié)果。 |
示例
該示例展示了如何將輸入字符串編碼為MIMEHEADER格式的數(shù)據(jù)。
select utl_encode.mimeheader_encode('mimeheaderencoding');
mimeheader_encode
-------------------------------
=?UTF8?Q?mimeheaderencoding?=
(1 row)
QUOTED_PRINTABLE_DECODE
該函數(shù)讀取RAW類型的QUOTED_PRINTABLE格式輸入,并解碼為對(duì)應(yīng)的RAW類型數(shù)據(jù)。
語法
UTL_ENCODE.QUOTED_PRINTABLE_DECODE (
r IN RAW)
RETURN RAW;
參數(shù)說明
參數(shù) | 描述 |
r | QUOTED_PRINTABLE格式的RAW類型數(shù)據(jù)。沒有默認(rèn)值或可選參數(shù)。 |
返回值
返回值 | 描述 |
RAW | 解碼后的RAW類型數(shù)據(jù)。 |
示例
該示例展示了如何將QUOTED_PRINTABLE格式的數(shù)據(jù)解碼為對(duì)應(yīng)的原始值的RAW類型數(shù)據(jù)。
select utl_encode.quoted_printable_decode(utl_encode.quoted_printable_encode('quoted_printable'::raw));
quoted_printable_decode
------------------------------------
\x71756f7465645f7072696e7461626c65
(1 row)
QUOTED_PRINTABLE_ENCODE
該函數(shù)讀取RAW類型的輸入,并編碼為對(duì)應(yīng)的QUOTED_PRINTABLE格式的RAW類型數(shù)據(jù)。
語法
UTL_ENCODE.QUOTED_PRINTABLE_ENCODE (
r IN RAW)
RETURN RAW;
參數(shù)說明
參數(shù) | 描述 |
r | 輸入的RAW類型數(shù)據(jù)。沒有默認(rèn)值或可選參數(shù)。 |
返回值
返回值 | 描述 |
RAW | 編碼后的RAW類型的數(shù)據(jù)。 |
示例
該示例展示了如何將輸入數(shù)據(jù)編碼為QUOTED_PRINTABLE格式的RAW類型數(shù)據(jù)。
select utl_encode.quoted_printable_encode('quoted_printable'::raw);
quoted_printable_encode
------------------------------------
\x71756f7465645f7072696e7461626c65
(1 row)
TEXT_DECODE
該函數(shù)將輸入數(shù)據(jù)通過指定的編碼方式和字符集進(jìn)行解碼。
語法
UTL_ENCODE.TEXT_DECODE(
buf IN VARCHAR2,
encode_charset IN VARCHAR2 DEFAULT NULL,
encoding IN PLS_INTEGER DEFAULT NULL)
RETURN VARCHAR2;
參數(shù)說明
參數(shù) | 描述 |
buf | 待解碼數(shù)據(jù)。 |
encode_charset | 目標(biāo)字符集。 |
encoding | 輸入數(shù)據(jù)的編碼格式。取值如下:
|
返回值
返回值 | 描述 |
VARCHAR2 | 解碼字符串結(jié)果。 |
示例
該示例展示了如何將通過對(duì)應(yīng)的編碼函數(shù)得到的數(shù)據(jù)進(jìn)行解碼。
select utl_encode.text_decode('text encoding test=3D');
text_decode
---------------------
text encoding test=
(1 row)
TEXT_ENCODE
該函數(shù)將輸入的數(shù)據(jù)編碼為對(duì)應(yīng)字符集上的輸出。
語法
UTL_ENCODE.TEXT_ENCODE (
buf IN VARCHAR2,
encode_charset IN VARCHAR2 DEFAULT NULL,
encoding IN INTEGER DEFAULT NULL)
RETURN VARCHAR2;
參數(shù)說明
參數(shù) | 描述 |
buf | 待編碼數(shù)據(jù)。 |
encode_charset | 目標(biāo)字符集。 |
encoding | 輸入數(shù)據(jù)的編碼格式。取值如下:
|
返回值
返回值 | 描述 |
VARCHAR2 | 編碼結(jié)果。 |
示例
該示例展示了如何將輸入轉(zhuǎn)換到指定的字符集并進(jìn)行編碼。
select utl_encode.text_encode('text encoding test=');
text_encode
-----------------------
text encoding test=3D
(1 row)
UUDECODE
該函數(shù)讀取RAW類型的UUENCODE格式編碼內(nèi)容并解碼為對(duì)應(yīng)的RAW類型數(shù)據(jù)。
語法
UTL_ENCODE.UUDECODE (
r IN RAW)
RETURN RAW;
參數(shù)說明
參數(shù) | 描述 |
r | UUENCODE格式的RAW類型數(shù)據(jù)。沒有默認(rèn)值或可選參數(shù)。 |
返回值
返回值 | 描述 |
RAW | 解碼后的RAW類型的數(shù)據(jù)。 |
示例
該示例展示了如何將一個(gè)UUENCODE的編碼結(jié)果進(jìn)行解碼
select utl_encode.uudecode(utl_encode.uuencode('uuencode test'));
uudecode
------------------------------
\x7575656e636f64652074657374
(1 row)
UUENCODE
該函數(shù)將輸入數(shù)據(jù)的RAW類型表示編碼為對(duì)應(yīng)的UUENCODE格式的RAW類型數(shù)據(jù)。
語法
UTL_ENCODE.UUENCODE (
r IN RAW,
type IN INTEGER DEFAULT 1,
filename IN VARCHAR2 DEFAULT NULL,
permission IN VARCHAR2 DEFAULT NULL) RETURN RAW;
參數(shù)說明
參數(shù) | 描述 |
r | 輸入的RAW類型數(shù)據(jù)。 |
type | (可選參數(shù))包含UUENCODE輸出格式的數(shù)值類型參數(shù),默認(rèn)值是 1,表示完整的輸出格式。 |
filename | (可選參數(shù))包含UUENCODE文件名的參數(shù),默認(rèn)值是 |
permission | (可選參數(shù))包含權(quán)限信息的VARCHAR2類型參數(shù),默認(rèn)值是 |
返回值
返回值 | 描述 |
RAW | 輸入的RAW類型數(shù)據(jù)。 |
示例
該示例展示了如何將輸入的數(shù)據(jù)編碼為UUENCODE格式。
select utl_encode.uuencode('uuencode test');
uuencode
------------------------------------------------------------------------------------------------------
\x626567696e2030207575656e636f64652e7478740d0a323d3735453b462d4f392634403d2635533d2020200d0a0a656e64
(1 row)