Oracle Database の DUMP関数 と CONVERT関数 で 文字列のバイトコードを調べる。
はてぶコメントで
【「野球」に対応するEUC文字コードは「cceeb5e5」なのが判らん。】
と頂いたので、書くやで彡(゚)(゚)
文字コードのバイトコードは、Oracle Database だと DUMP関数 で確認できます。
AL32UTF8環境で「野球」のバイトコードを調べると↓(e9878ee79083)のようになります。
SET LINESIZE 170 SET PAGESIZE 100 COLUMN PARAMETER FORMAT A30 COLUMN VALUE FORMAT A30 SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER LIKE '%CHARACTERSET%'; PARAMETER VALUE CON_ID ------------------------------ ------------------------------ ---------- NLS_CHARACTERSET AL32UTF8 0 NLS_NCHAR_CHARACTERSET UTF8 0 -- '野球' の AL32UTF8 の バイトコード SELECT DUMP('野球', 16) FROM DUAL; DUMP('野球',16) ------------------------------- Typ=96 Len=6: e9,87,8e,e7,90,83
文字コードの変換はCONVERT関数で出来るので、
CONVERT関数とDUMP関数を組み合わせると「野球」のバイトコードが確認できます。
-- '野球' の JA16EUC の バイトコード SELECT DUMP(CONVERT('野球', 'JA16EUC' , 'AL32UTF8'), 16) FROM DUAL; DUMP(CONVERT('野球','JA1 ------------------------ Typ=1 Len=4: cc,ee,b5,e5 -- '野球' の JA16SJIS の バイトコード SELECT DUMP(CONVERT('野球', 'JA16SJIS', 'AL32UTF8'), 16) FROM DUAL; DUMP(CONVERT('野球','JA1 ------------------------ Typ=1 Len=4: 96,ec,8b,85
「野球」に対応するバイトコードは、JA16EUCだと「cceeb5e5」、
JA16SJISだと「96ec8b85」なのが判るやで!
野球元年や!彡(゚)(゚) (しつこい) マニュアルは↓やで。
Oracle Database SQL言語リファレンス 12cリリース1 (12.1) B71278-10 DUMP http://docs.oracle.com/cd/E57425_01/121/SQLRF/functions063.htm#i77278 CONVERT http://docs.oracle.com/cd/E57425_01/121/SQLRF/functions041.htm#i77037
Qiitaにも書いたやで!彡(^)(^)
Oracle Database の DUMP関数 と CONVERT関数 で 文字列のバイトコードを調べる。 http://qiita.com/ora_gonsuke777/items/c410f75f0a7a3dfd1872