Escape Codec Library: ecl.js

このページはhttp://nurucom-archives.hp.infoseek.co.jp/digital/にあったものをiswebのサービス終了に伴い伊藤がコピーしたものです。

 Shift_JISエンコードやEUC-JPエンコードなども可能な escape エンコード・デコード関数のライブラリ


関数の説明

◆EscapeSJIS(string)
string をShift_JISコードのタイプで escape エンコードした値を返します。
iモードの絵文字領域の文字も扱うことができます。
◆UnescapeSJIS(escapedString)
Shift_JISコードのタイプで escape エンコードされた escapedString を元の文字列にデコードした値を返します。
◆EscapeEUCJP(string)
string をEUC-JPコードのタイプで escape エンコードした値を返します。
◆UnescapeEUCJP(escapedString)
EUC-JPコードのタイプで escape エンコードされた escapedString を元の文字列にデコードした値を返します。
◆EscapeJIS7(string)
string をJISコードのタイプで escape エンコードした値を返します。
半角カタカナも使用可能で、7ビットでエンコードされます。
◆UnescapeJIS7(escapedString)
JISコードのタイプで escape エンコードされた escapedString を元の文字列にデコードした値を返します。
7ビットでエンコードされた半角カタカナもデコードすることができます。
◆EscapeJIS8(string)
string をJISコードのタイプで escape エンコードした値を返します。
半角カタカナは、8ビットでエンコードされます。
◆UnescapeJIS8(escapedString)
JISコードのタイプで escape エンコードされた escapedString を元の文字列にデコードした値を返します。
8ビットでエンコードされた半角カタカナもデコードすることができます。
◆EscapeUnicode(string)
string を Unicode のタイプで escape エンコードした値を返します。
IE4.0以上の escape() と互換性があります。
◎ライブラリから切り取って単体で使用することも可能です。
◆UnescapeUnicode(escapedString)
Unicode のタイプで escape エンコードされた escapedString を元の文字列にデコードした値を返します。
IE4.0以上の unescape() と互換性があります。
◎ライブラリから切り取って単体で使用することも可能です。
◆EscapeUTF7(string)
string を UTF-7コードのタイプで escape エンコードした値を返します。
◎ライブラリから切り取って単体で使用することも可能です。
◆UnescapeUTF7(escapedString)
UTF-7コードの escapedString を元の文字列にデコードした値を返します。
◎ライブラリから切り取って単体で使用することも可能です。
◆EscapeUTF8(string)
string を UTF-8コードのタイプで escape エンコードした値を返します。
IE5.5 以上で実装されている encodeURI() または encodeURIComponent() とは、エンコードする文字の範囲が異なるため、同一の値は得られませんが、同じく IE5.5 以上で実装される decodeURI() , decodeURIComponent() で問題なくデコードすることができます。
◎ライブラリから切り取って単体で使用することも可能です。
※encodeURI() , encodeURIComponent() と同等の機能が必要な場合は、TransURI (UTF-8) を使用してください。
◆UnescapeUTF8(escapedString)
UTF-8コードのタイプで escape エンコードされた escapedString を元の文字列にデコードした値を返します。
IE5.5 以上で実装されている decodeURI() , decodeURIComponent() と互換性があります。
◎ライブラリから切り取って単体で使用することも可能です。
◎ビルトイン関数の decodeURI() よりも高速にデコードします(IE6.0で確認)
◆EscapeUTF16LE(string)
string を UTF-16LE(リトルエンディアン)コードのタイプで escape エンコードした値を返します。
◎ライブラリから切り取って単体で使用することも可能です。
◆UnescapeUTF16LE(escapedString)
UTF-16LE(リトルエンディアン)コードのタイプで escape エンコードされた escapedString を元の文字列にデコードした値を返します。
◎ライブラリから切り取って単体で使用することも可能です。
◆GetEscapeCodeType(escapedString)
escape エンコードされた escapedString を解析し、どのコードのタイプかを判定します。
※半角カタカナのみからなる文字列をエンコードしたものや、一部分を抜き出したもの、壊れたものなどは、正確に判定できない場合があります。
※UTF-7は判定されません。
※コードのタイプが ASCII の場合、"EUCJP" と判定されます。
◎ライブラリから切り取って単体で使用することも可能です。
◎以下のようにすることで、自動判別機能付き Unescape 関数が実現します。
    UnescapeAutoDetect=function(str){
        return window["Unescape"+GetEscapeCodeType(str)](str)
    };
◆JCT11280 【String Object】
 JIS規格(JIS X 0208-1997)に取り込まれている文字に加えて、Windowsで使用できる○付き数字やiモードの絵文字領域の文字(Shift_JIS および Unicode 系のコードで使用可能)なども加えた11280文字(未定義領域も含む)が、JISコード順で代入されています。
 これを生成する関数は、11280文字分のUnicode 番号を差分圧縮して、ASCIIコードの文字のみを使って符号化したデータとデコードプログラムからなり、ファイル読み込み時に実行されて、元の文字を生成するようになっています。この仕組みにより、11280文字を記述するのに必要なバイト数の半分近くにまでサイズが縮小され、そして漢字等が直接記述されていないので、任意の文字コードで使用することが可能となります。
 また、</ といったブラウザを混乱させるおそれのある文字列も含まれていないので、HTMLファイルに直接この生成関数を記述することも可能です。
EscapeSJIS() , UnescapeSJIS() で使用しています。
◆JCT8836 【String Object】
上記の JCT11280 の先頭から8836文字までが代入されています。
EscapeEUCJP() , UnescapeEUCJP() , EscapeJIS7() , UnescapeJIS7() , EscapeJIS8() , UnescapeJIS8() で使用しています。

その他


コード