パッケージ rabbit.dcs

クラス Dcs

java.lang.Object
rabbit.dcs.Dcs
すべての実装されたインタフェース:
AutoCloseable, DcsStatus

public class Dcs extends Object implements DcsStatus, AutoCloseable
    Dcs は文字コード判定と文字コード変換用の DCS ライブラリーにアクセスするための JNI API です。アクセス方法はすべてパブリックなので、それ以外の Dcs のメソッドや変数、定数を参照する必要はありません。不要になったら close() を呼び出して、この Dcs のすべてのリソースを破棄します。以下に対応するコードを示します。

対応文字コード
        ISO-2022-JP
        CP50221(JIS)
        ISO-2022-JP-2004
        ISO-2022-JP-3
        Shift_JIS
        CP932(SJIS)
        Shift_JIS-2004
        EUC-JP
        CP20932(EUC-JP)
        CP51932(EUC-JP)
        eucJP-ms
        eucJP-2004
        UTF-8
        UTF-16BE
        UTF-16LE
        UTF-32BE
        UTF-32LE
        (BOM、サロゲート文字、日本語 UTF8-MAC 対応)


バッファーによるコード判定とコード変換の例

        package rabbit.hellodcs;

        import java.io.UnsupportedEncodingException;

        import rabbit.dcs.ConvertObserver;
        import rabbit.dcs.ConvertWriter;
        import rabbit.dcs.Dcs;
        import rabbit.dcs.DcsException;
        import rabbit.dcs.DcsStatus;

        public class HelloDcs {

                public HelloDcs() {
                }

                public static void main(String[] args) {
                        Dcs dcs;
                        try {
                                byte[] buf = new String("皆さん、今日は!").getBytes("euc-jp");
                                // Dcs 生成
                                dcs = new Dcs();
                                // バッファーによるコード判定
                                dcs.judgesBuffer(null, null, buf, buf.length, Dcs.UNKNOWN);
                                System.out.println(String.format("judgesBuffer sts: %d %s", dcs.sts, DcsStatus.typeToName(dcs.sts)));
                                // 変換観察
                                ConvertObserver observer = new ConvertObserver() {
                                        @Override
                                        public int observe(int sts, Object userInfo) {
                                                System.out.println(String.format("observe sts: %d %s", sts, DcsStatus.typeToName(dcs.sts)));
                                                return Dcs.OBS_CONTINUE;
                                        }};
                                // 変換書き込み
                                ConvertWriter writer = new ConvertWriter() {
                                        @Override
                                        public int write(byte[] buffer, int length, Object userInfo) {
                                                try {
                                                        System.out.println(new String(buffer, "utf-8"));
                                                } catch (UnsupportedEncodingException e) {
                                                        e.printStackTrace();
                                                        return Dcs.EWRITE;
                                                }
                                                return Dcs.SUCCESS;
                                        }};
                                // バッファーによるコード変換
                                dcs.convertBuffer(buf, buf.length, Dcs.UNKNOWN, Dcs.UTF8, false, observer, writer, null);
                                // Dcs クローズ
                                dcs.close();
                        } catch (DcsException | UnsupportedEncodingException e) {
                                e.printStackTrace();
                                System.exit(1);
                        }
                        System.exit(0);
                }
        }



実行結果
        judgesBuffer sts: 9 EUC-JP
        observe sts: 9 EUC-JP
        皆さん、今日は!


文字コード判定と変換用のメソッド

    文字コードの判定、変換には入力データの形式(バッファー、ストリーム、ファイル)により3つ、計6つのメソッドがあります。

文字コード判定
        public int judgesBuffer(int[] atype, int[] lnType, byte[] buf, int length, int stype)
        public int judgesStream(int[] atype, int[] lnType, InputStream istream, int stype)
        public int judgesFile(int[] atype, int[] lnType, String path, int stype)

文字コード変換
        public int convertBuffer(byte[] buf, int length, int stype, int dtype, boolean isForced,
                                ConvertObserver observer, ConvertWriter writer, Object userInfo)
        public int convertStream(InputStream istream, int stype, int dtype, boolean isForced,
                                ConvertObserver observer, ConvertWriter writer, Object userInfo)
        public int convertFile(String path, int stype, int dtype, boolean isForced,
                                ConvertObserver observer, ConvertWriter writer, Object userInfo)


変換不能文字用のメソッド

    文字コード変換では、変換後の文字コードがない場合は変換不能として扱われ、それらの個数や先頭、末尾の値あるいは位置を以下のメソッドで知ることができます。

変換不能文字の扱い
        public int getNoCharCount()
        public long getFirstNoChar()
        public long getLastNoChar()
        public int getFirstNoCharIndex()
        public int getLastNoCharIndex()


改行コード判定と設定用のメソッド

    バッファによるコード変換 convertBuffer() 等で改行コードの編集を行なう場合、あらかじめ setLtype() で置き換えるコードを設定しておきます。初期値は LTYPE_NON で、改行コードの編集は行ないません。

改行コード・タイプの取得と設定
        public int getLtype()
        public void setLtype(int ltype)


出力コードの半角カナから全角への変換の判定と設定用のメソッド

    バッファによるコード変換 convertBuffer() 等で半角カナから全角への変換の真偽を変更する場合、あらかじめ setHankanaTo() で設定しておきます。初期値は偽で、半角カナから全角への変換を行ないません。

半角カナから全角への変換の判定と設定
        public boolean isHankanaTo()
        public void setHankanaTo(boolean flag)


日本語 UTF8-MAC 1文字変換の真偽判定と設定及び、UTF8-MAC コード有無判定用のメソッド

    バッファによるコード変換 convertBuffer() 等で日本語 UTF8-MAC 1文字変換の真偽を変更する場合、あらかじめ setUtfmacTo() で設定しておきます。初期値は偽で、日本語 UTF8-MAC 1文字変換を行ないません。

日本語 UTF8-MAC 1文字変換の判定と設定
        public boolean isUtfmacTo()
        public void setUtfmacTo(bool flag)


    バッファによるコード判定 judgesBuffer() やバッファによるコード変換 convertBuffer() 等の後に、入力データの日本語 UTF8-MAC コード有無の判定を行ないます。

入力データの日本語 UTF8-MAC コード有無の判定
        public boolean utfmacExists()



不正文字の出力抑止の真偽判定と設定用のメソッド

    バッファによるコード変換 convertBuffer() 等で不正文字の出力抑止の真偽を変更する場合、あらかじめ setSuppress() で設定しておきます。初期値は偽で、不正文字を出力します。


不正文字出力抑止の判定と設定
        public boolean isSuppress()
        public void setSuppress(bool isSuppress)


その他の文字コード判定と設定用のメソッド

    ここからは Dcs API を使用するために必須ではありませんが、文字コードを扱う上で有用なものが定義されています。


半角カナ判定
        public static boolean isJisKana(int c)
        public static boolean isSjisKana(int c)
        public static boolean isUnibeKana(int c)

Unicode, UTF-8 変換
        public static int unibeToUtf8Short(byte[] dbuf, int scd)
        public static int utf8ToUnibeBytes(byte[] dbuf, int doffset, byte[] sbuf, int[] soffset)

Unicodeサロゲート文字、UTF-8 変換
        public void unibeSurrogateToUtf8(byte[] dbuf, int hcd, int lcd)
        public void unibeSurrogateToCd(int[] dcd, int hcd, int lcd)

半角カナ変換
        public static int jisKanaToSjis(int c)
        public static int jisKanaToUnibe(int c)
        public static int sjisKanaToJis(int c)
        public static int sjisKanaToUnibe(int c)
        public static int unibeKanaToJis(int c)
        public static int unibeKanaToSjis(int c)
        
作成者:
Ichiji Tadokoro
  • フィールド詳細

    • CVERSION

      public static final float CVERSION
      この Dcs のバージョンです。
      関連項目:
    • nversion

      public static float nversion
      ネイティブ Dcs API のバージョンです。Dcs クラスのロード時に設定されます。
      関連項目:
    • sts

      public int sts
      最後の処理ステータスです。
  • コンストラクタの詳細

    • Dcs

      public Dcs() throws DcsException
      ネイティブ Dcs を生成します。必要なくなれば Dcs.close() を呼び出して Dcs の持つすべてのリソースを破棄して下さい。何らかの理由で Dcs が生成されない場合は DcsException がスローされます。
      例外:
      DcsException - 何らかの理由で Dcs が生成されない場合は DcsException がスローされます。
  • メソッドの詳細

    • CONFIRMED_CODE_TYPE

      public static boolean CONFIRMED_CODE_TYPE(int sts)
      確定コード・タイプの範囲内であることを判定します。
      パラメータ:
      sts - 判定を行なう処理ステータス
      戻り値:
      指定したステータスが確定コード・タイプの範囲内であれば真、それ以外は偽を返します。
      導入されたバージョン:
      2.0
    • isLinux

      public static boolean isLinux()
      LINUXバージョン判定
      戻り値:
      このクラスがLINUXバージョンの時は真、それ以外は偽を返します。
      導入されたバージョン:
      1.1
    • isWindows

      public static boolean isWindows()
      Windowsバージョン判定
      戻り値:
      このクラスがWindowsバージョンの時は真、それ以外は偽を返します。
      導入されたバージョン:
      2.0
    • getBits

      public static int getBits()
      アーキテクチャのビット数判定
      戻り値:
      このクラスのアーキテクチャ・ビット数を返します。
      導入されたバージョン:
      1.1
    • close

      public void close()
      この Dcs の持つすべてのリソースを破棄します。
      定義:
      close インタフェース内 AutoCloseable
      関連項目:
    • _createDcs

      public int _createDcs()
    • _releaseDcs

      public void _releaseDcs()
    • getVersion

      public static float getVersion()
      ネイティブ Dcs API のバージョンを取得します。nversion と同値です。
      戻り値:
      ネイティブ Dcs API のバージョン
      関連項目:
    • isJisKana

      public static boolean isJisKana(int c)
      JIS半角カナの判定
      パラメータ:
      c - 真偽を判定する文字コード
      戻り値:
      指定した文字コードがこの文字コードセットの半角カナに含まれる時は真、それ以外は偽を返します。
    • isSjisKana

      public static boolean isSjisKana(int c)
      SJIS半角カナの判定
      パラメータ:
      c - 真偽を判定する文字コード
      戻り値:
      指定した文字コードがこの文字コードセットの半角カナに含まれる時は真、それ以外は偽を返します。
    • isUnibeKana

      public static boolean isUnibeKana(int c)
      Unicose(BE)半角カナの判定
      パラメータ:
      c - 真偽を判定する文字コード
      戻り値:
      指定した文字コードがこの文字コードセットの半角カナに含まれる時は真、それ以外は偽を返します。
    • isJisZenkana

      public static boolean isJisZenkana(int c)
      JIS全角仮名の判定
      パラメータ:
      c - 真偽を判定する文字コード
      戻り値:
      指定した文字コードがこの文字コードセットの全角平仮名、又は全角片仮名に含まれる時は真、それ以外は偽を返します。
    • isSjisZenkana

      public static boolean isSjisZenkana(int c)
      シフトJIS全角仮名の判定
      パラメータ:
      c - 真偽を判定する文字コード
      戻り値:
      指定した文字コードがこの文字コードセットの全角平仮名、又は全角片仮名に含まれる時は真、それ以外は偽を返します。
    • isEucZenkana

      public static boolean isEucZenkana(int c)
      EUC全角仮名の判定
      パラメータ:
      c - 真偽を判定する文字コード
      戻り値:
      指定した文字コードがこの文字コードセットの全角平仮名、又は全角片仮名に含まれる時は真、それ以外は偽を返します。
    • isUnibeZenkana

      public static boolean isUnibeZenkana(int c)
      Unicode(BE)全角仮名の判定
      パラメータ:
      c - 真偽を判定する文字コード
      戻り値:
      指定した文字コードがこの文字コードセットの全角平仮名、又は全角片仮名に含まれる時は真、それ以外は偽を返します。
    • remainsAscii

      public static boolean remainsAscii(int dtype)
      変換後も ASCII である出力タイプの判定
      パラメータ:
      dtype - 真偽を判定する出力タイプ
      戻り値:
      ASCII から変換を掛けても ASCII のまま変わらない出力タイプの時は真、それ以外は偽を返します。
      導入されたバージョン:
      2.11
    • unibeToUtf8Short

      public static int unibeToUtf8Short(byte[] dbuf, int scd)
      Unicode(BE)(16bit)からUTF-8への変換。出力バッファのサイズ・チェックはしないため十分な領域を確保する必要があります。
      パラメータ:
      dbuf - 変換後の文字コードを格納するバッファ
      scd - 変換前の文字コード
      戻り値:
      dbuf へ格納したバイト数を返します。
    • utf8ToUnibeBytes

      public static int utf8ToUnibeBytes(byte[] dbuf, int doffset, byte[] sbuf, int[] soffset)
      UTF-8コードからUnicode(BE)への変換。入力バイト数が4バイトならサロゲート文字であり出力も4バイトとなり、 その他の出力はすべて2バイトです。出力バッファのサイズ・チェックはしないため十分な領域を確保する必要があります。
      パラメータ:
      dbuf - 変換後の文字コードを格納するバッファ
      doffset - dbuf へ格納する開始位置
      sbuf - 変換前の文字コードを取り出すバッファ
      soffset - sbuf から取り出す開始位置。処理したバイト数が加算されます。
      戻り値:
      変換が成功した時は SUCCESS、不正なコードがあった時は ECHAR、コードの途中で終わっている時は EUEXPEOD を返します。
    • unibeSurrogateToUtf8

      public void unibeSurrogateToUtf8(byte[] dbuf, int hcd, int lcd)
      Unicode(BE)サロゲート・ペアからUTF-8への変換。 出力は4バイトとなりますが、出力バッファのサイズ・チェックはしないため十分な領域を確保する必要があります。
      パラメータ:
      dbuf - 変換後の文字コードを格納するバッファ
      hcd - 変換前の上位文字コード
      lcd - 変換前の下位文字コード
      導入されたバージョン:
      2.0
    • unibeSurrogateToCd

      public void unibeSurrogateToCd(int[] dcd, int hcd, int lcd)
      Unicode(BE)サロゲート・ペアからコードへの変換。
      パラメータ:
      dcd - 変換後の文字コードを格納するバッファ
      hcd - 変換前の上位文字コード
      lcd - 変換前の下位文字コード
      導入されたバージョン:
      2.0
    • jisKanaToSjis

      public static int jisKanaToSjis(int c)
      JIS半角カナ・コードからシフトJISコードへの変換
      パラメータ:
      c - 変換対象の文字コード
      戻り値:
      変換後の文字コード。該当がない時は不正値を返します。
    • jisKanaToUnibe

      public static int jisKanaToUnibe(int c)
      JIS半角カナ・コードからUnicode(BE)コードへの変換
      パラメータ:
      c - 変換対象の文字コード
      戻り値:
      変換後の文字コード。該当がない時は不正値を返します。
    • sjisKanaToJis

      public static int sjisKanaToJis(int c)
      シフトJIS半角カナ・コードからJISコードへの変換
      パラメータ:
      c - 変換対象の文字コード
      戻り値:
      変換後の文字コード。該当がない時は不正値を返します。
    • sjisKanaToUnibe

      public static int sjisKanaToUnibe(int c)
      シフトJIS半角カナ・コードからUnicode(BE)コードへの変換
      パラメータ:
      c - 変換対象の文字コード
      戻り値:
      変換後の文字コード。該当がない時は不正値を返します。
    • unibeKanaToJis

      public static int unibeKanaToJis(int c)
      Unicode(BE)半角カナ・コードからJISコードへの変換
      パラメータ:
      c - 変換対象の文字コード
      戻り値:
      変換後の文字コード。該当がない時は不正値を返します。
    • unibeKanaToSjis

      public static int unibeKanaToSjis(int c)
      Unicode(BE)半角カナ・コードからシフトJISコードへの変換
      パラメータ:
      c - 変換対象の文字コード
      戻り値:
      変換後の文字コード。該当がない時は不正値を返します。
    • judgesBuffer

      public int judgesBuffer(int[] atype, int[] lnType, byte[] buffer, int length, int stype)
          入力バッファ buffer、入力サイズ length のデータから文字コードの判定を行ないます。
          atype は未確定の文字コード・タイプ(CONFIRMED_CODE_TYPE(sts)が偽)がある時にはその値、 一意に決まればリターン値と同じになり、エラーの場合は UNKNOWN(-1) が設定されます。 不要ならば null を設定します。
          lnType は 入力データの改行コード・タイプであり、LTYPE_NON, LTYPE_LF, LTYPE_CR, LTYPE_CRLF, LTYPE_ALL の何れかが混在していた時はそれらの OR 値が設定されます。 不要ならば null を設定します。
          stype は文字コードが一意に決まらなかった場合に、同一の文字コード・タイプがあれば、その値に決定します。 不要ならば UNKNOWN を設定します。
      パラメータ:
      atype - 未確定の文字コード・タイプ
      lnType - 改行コード・タイプ
      buffer - 入力バッファ
      length - 入力サイズ
      stype - 入力データの文字コード・タイプ
      戻り値:
      判定した文字コード・タイプを返します。 メモリー・アロケート・エラーの時は EALLOC。
      導入されたバージョン:
      2.0
    • judgesStream

      public int judgesStream(int[] atype, int[] lnType, InputStream istream, int stype)
      入力ストリーム istream のデータから文字コードの判定を行ない、istream は呼び出し側でクローズします。
          atype は未確定の文字コード・タイプ(CONFIRMED_CODE_TYPE(sts)が偽)がある時にはその値、 一意に決まればリターン値と同じになり、エラーの場合は UNKNOWN(-1) が設定されます。 不要ならば null を設定します。
          lnType は 入力データの改行コード・タイプであり、LTYPE_NON, LTYPE_LF, LTYPE_CR, LTYPE_CRLF, LTYPE_ALL の何れかが混在していた時はそれらの OR 値が設定されます。 不要ならば null を設定します。
          stype は文字コードが一意に決まらなかった場合に、同一の文字コード・タイプがあれば、その値に決定します。 不要ならば UNKNOWN を設定します。
      パラメータ:
      atype - 未確定の文字コード・タイプ
      lnType - 改行コード・タイプ
      istream - 入力ストリーム
      stype - 入力データの文字コード・タイプ
      戻り値:
      判定した文字コード・タイプを返します。 メモリー・アロケート・エラーの時は EALLOC、 ファイル入力エラーの時は EREAD。
      導入されたバージョン:
      2.0
    • judgesFile

      public int judgesFile(int[] atype, int[] lnType, String path, int stype)
          入力ファイル path のデータから文字コードの判定を行ないます。
          atype は未確定の文字コード・タイプ(CONFIRMED_CODE_TYPE(sts)が偽)がある時にはその値、 一意に決まればリターン値と同じになり、エラーの場合は UNKNOWN(-1) が設定されます。 不要ならば null を設定します。
          lnType は 入力データの改行コード・タイプであり、LTYPE_NON, LTYPE_LF, LTYPE_CR, LTYPE_CRLF, LTYPE_ALL の何れかが混在していた時はそれらの OR 値が設定されます。 不要ならば null を設定します。
          stype は文字コードが一意に決まらなかった場合に、同一の文字コード・タイプがあれば、その値に決定します。 不要ならば UNKNOWN を設定します。
      パラメータ:
      atype - 未確定の文字コード・タイプ
      lnType - 改行コード・タイプ
      path - 入力ファイル・パス
      stype - 入力データの文字コード・タイプ
      戻り値:
      判定した文字コード・タイプを返します。 メモリー・アロケート・エラーの時は EALLOC、 ファイル・オープン・エラーの時は EROPEN、 ファイル入力エラーの時は EREAD。
      導入されたバージョン:
      2.0
    • judgesFile

      public int judgesFile(int[] atype, int[] lnType, byte[] apath, int stype)
          入力ファイル path のデータから文字コードの判定を行ないます。
          atype は未確定の文字コード・タイプ(CONFIRMED_CODE_TYPE(sts)が偽)がある時にはその値、 一意に決まればリターン値と同じになり、エラーの場合は UNKNOWN(-1) が設定されます。 不要ならば null を設定します。
          lnType は 入力データの改行コード・タイプであり、LTYPE_NON, LTYPE_LF, LTYPE_CR, LTYPE_CRLF, LTYPE_ALL の何れかが混在していた時はそれらの OR 値が設定されます。 不要ならば null を設定します。
          stype は文字コードが一意に決まらなかった場合に、同一の文字コード・タイプがあれば、その値に決定します。 不要ならば UNKNOWN を設定します。
      パラメータ:
      atype - 未確定の文字コード・タイプ
      lnType - 改行コード・タイプ
      apath - 入力ファイル・パスのバイト配列
      stype - 入力データの文字コード・タイプ
      戻り値:
      判定した文字コード・タイプを返します。 メモリー・アロケート・エラーの時は EALLOC、 ファイル・オープン・エラーの時は EROPEN、 ファイル入力エラーの時は EREAD。
      導入されたバージョン:
      2.0
    • cmpBom

      public static int cmpBom(int stype, int dtype)
      引き数で与えられた文字コード変換で起きる BOM の追加、削除の判定を行います。同じ文字コードであれば追加や削除になり、それ以外は非となります。UTF16BE から UTF16BE_BOM への変換は CBOM_ADD、UTF16BE から UTF16LE_BOM への変換は CBOM_NON を返します。
      パラメータ:
      stype - 変換前の文字コード
      dtype - 変換後の文字コード
      戻り値:
      BOM 追加/削除の判定値(CBOM_NON、CBOM_ADD、CBOM_DELETE の何れか)を返します。
    • convertBuffer

      public int convertBuffer(byte[] buffer, int length, int stype, int dtype, boolean isForced, ConvertObserver observer, ConvertWriter writer, Object userInfo)
          入力バッファ buffer、入力サイズ length のデータを指定された文字コードに変換します。 初めに入力データの文字コード判定を行ない、 一意に決定した場合は指定された dtype の文字コードに変換します。
          stype は judgesBuffer() 等のコード判定だけを行なうメソッドと同様に、 文字コードが一意に決まらなかった場合に、 同一の文字コード・タイプがあれば、その値に決定します。 不要ならば UNKNOWN を設定します。isForced が真ならば、Dcs.UNKNOWN 以外の stype の値が強制的に採られます。ただし、stype や実際の文字コードが JIS や BOM 付きの UTF の場合は無効となります。
          observer のメソッド observe() は変換前のコード判定が終了した時点で、渡される判定結果 sts により必ず1回呼び出されます。 継続ならば OBS_CONTINUE、中止する時は OBS_STOP で戻ります。 致命的なエラーや入力データの文字コード・タイプが確定できなかった(CONFIRMED_CODE_TYPE(sts)が偽)場合は判定結果が convertBuffer() の返却値となり、observe() が OBS_CONTINUE を返しても継続されません。 変換結果をファイルに出力する場合は observe() がそのファイルをオープンし、convertBuffer() の返った後、呼び出し側でクローズします。 observer のメソッド observe() が不要ならば null を設定します。
          writer のメソッド write() は変換中に編集バッファがフルになる度に呼び出され、 渡される出力バッファ buffer、出力サイズ length により実際の出力を行ないます。 出力が成功したら SUCCESS、ファイル出力エラーなら EWRITE、 メモリー・アロケート・エラーならば EALLOC で戻ります。 write() の返却値が SUCCESS ならば継続され、それ以外の値なら中断されます。 最後の呼び出しの場合、これらは convertBuffer() の返却値となります。 writer のメソッド write() が不要ならば null を設定します。
      userInfo は observe(), write() に渡すユーザー情報です。不要ならば null を設定します。
      パラメータ:
      buffer - 入力バッファ
      length - 入力サイズ
      stype - 入力データの文字コード・タイプ
      dtype - 出力データの文字コード・タイプ
      isForced - 入力データの文字コード・タイプを強制的に stype とする
      observer - コード判定結果の監視を行なうインターフェース
      writer - コード変換データの出力を行なうインターフェース
      userInfo - ユーザー情報
      戻り値:
      変換が成功した場合は SUCCESS、 判定終了時に observer のメソッド observe() を呼び出して中止した場合は ECANOBS、 コード判定エラー(CONFIRMED_CODE_TYPE(sts)が偽)の時はその値を返します。 メモリー・アロケート・エラーの時は EALLOC。
      導入されたバージョン:
      2.0
    • convertStream

      public int convertStream(InputStream istream, int stype, int dtype, boolean isForced, ConvertObserver observer, ConvertWriter writer, Object userInfo)
          入力ストリーム istream のデータを指定された文字コードに変換します。
          istream は呼び出し側でクローズします。入力エラーの時は EREAD を返します。
          その他の機能は convertBuffer() と同じです。
      パラメータ:
      istream - 入力ストリーム
      stype - 入力データの文字コード・タイプ
      dtype - 出力データの文字コード・タイプ
      isForced - 入力データの文字コード・タイプを強制的に stype とする
      observer - コード判定結果の監視を行なうインターフェース
      writer - コード変換データの出力を行なうインターフェース
      userInfo - ユーザー情報
      戻り値:
      変換が成功した場合は SUCCESS、 判定終了時に observer のメソッド observe() を呼び出して中止した場合は ECANOBS、 コード判定エラー(CONFIRMED_CODE_TYPE(sts)が偽)の時はその値を返します。 メモリー・アロケート・エラーの時は EALLOC、 入力エラーの時は EREAD。
      導入されたバージョン:
      2.0
    • convertFile

      public int convertFile(String path, int stype, int dtype, boolean isForced, ConvertObserver observer, ConvertWriter writer, Object userInfo)
          入力ファイル path のデータを指定された文字コードに変換します。
          ファイル・オープン・エラーの時は EROPEN、入力エラーの時は EREAD を返します。
          その他の機能は convertBuffer() と同じです。
      パラメータ:
      path - 入力ファイル・パス
      stype - 入力データの文字コード・タイプ
      dtype - 出力データの文字コード・タイプ
      isForced - 入力データの文字コード・タイプを強制的に stype とする
      observer - コード判定結果の監視を行なうインターフェース
      writer - コード変換データの出力を行なうインターフェース
      userInfo - ユーザー情報
      戻り値:
      変換が成功した場合は SUCCESS、 判定終了時に observer のメソッド observe() を呼び出して中止した場合は ECANOBS、 コード判定エラー(CONFIRMED_CODE_TYPE(sts)が偽)の時はその値を返します。 メモリー・アロケート・エラーの時は EALLOC、 ファイル・オープン・エラーの時は EROPEN、 入力エラーの時は EREAD。
      導入されたバージョン:
      2.0
    • convertFile

      public int convertFile(byte[] apath, int stype, int dtype, boolean isForced, ConvertObserver observer, ConvertWriter writer, Object userInfo)
          入力ファイル path のデータを指定された文字コードに変換します。
          ファイル・オープン・エラーの時は EROPEN、入力エラーの時は EREAD を返します。
          その他の機能は convertBuffer() と同じです。
      パラメータ:
      apath - 入力ファイル・パスのバイト配列
      stype - 入力データの文字コード・タイプ
      dtype - 出力データの文字コード・タイプ
      isForced - 入力データの文字コード・タイプを強制的に stype とする
      observer - コード判定結果の監視を行なうインターフェース
      writer - コード変換データの出力を行なうインターフェース
      userInfo - ユーザー情報
      戻り値:
      変換が成功した場合は SUCCESS、 判定終了時に observer のメソッド observe() を呼び出して中止した場合は ECANOBS、 コード判定エラー(CONFIRMED_CODE_TYPE(sts)が偽)の時はその値を返します。 メモリー・アロケート・エラーの時は EALLOC、 ファイル・オープン・エラーの時は EROPEN、 入力エラーの時は EREAD。
      導入されたバージョン:
      2.0
    • getNoCharCount

      public int getNoCharCount()
      直前に行なったコード変換で、変換できなかった文字数を返します。
      戻り値:
      変換ができなかった文字数を返します。
    • getFirstNoChar

      public long getFirstNoChar()
      直前に行なったコード変換で、変換できなかった最初の文字を返します。
      戻り値:
      変換ができなかった最初の文字を返します。すべて変換できた時はゼロ
    • getLastNoChar

      public long getLastNoChar()
      直前に行なったコード変換で、変換できなかった最後の文字を返します。
      戻り値:
      変換ができなかった最後の文字を返します。すべて変換できた時はゼロ
    • getFirstNoCharIndex

      public int getFirstNoCharIndex()
      直前に行なったコード変換で、変換できなかった最初のバイト位置を返します。
      戻り値:
      変換ができなかった最初のバイト位置を返します。すべて変換できた時は -1
    • getLastNoCharIndex

      public int getLastNoCharIndex()
      直前に行なったコード変換で、変換できなかった最後のバイト位置を返します。
      戻り値:
      変換ができなかった最後のバイト位置を返します。すべて変換できた時は -1
    • getLtype

      public int getLtype()
      改行コード・タイプ取得
      戻り値:
      設定されている改行コード・タイプを返します(LTYPE_NON, LTYPE_LF, LTYPE_CR, LTYPE_CRLF の何れか。初期値は LTYPE_NON であり、改行コードの編集を行わない)。
      導入されたバージョン:
      1.1
    • setLtype

      public void setLtype(int ltype)
      改行コード・タイプ設定
      パラメータ:
      ltype - 設定する改行コード・タイプ(LTYPE_NON, LTYPE_LF, LTYPE_CR, LTYPE_CRLF の何れか)
      導入されたバージョン:
      1.1
    • isHankanaTo

      public boolean isHankanaTo()
      出力コードの半角カナから全角への変換の判定。初期値は偽であり、半角カナから全角への変換を行いません。
      戻り値:
      半角カナから全角への変換の真偽を返します。
      導入されたバージョン:
      3.0
    • setHankanaTo

      public void setHankanaTo(boolean flag)
      半角カナから全角への変換の設定
      パラメータ:
      flag - 出力コードの半角カナから全角への変換の真偽を設定します。
      導入されたバージョン:
      3.0
    • isUtfmacTo

      public boolean isUtfmacTo()
      日本語 UTF8-MAC 1文字変換の判定。初期値は偽であり、日本語 UTF8-MACの1文字変換を行いません。
      戻り値:
      日本語 UTF8-MACの1文字変換の真偽を返します。
      導入されたバージョン:
      2.1
    • setUtfmacTo

      public void setUtfmacTo(boolean flag)
      日本語 UTF8-MAC 1文字変換の設定
      パラメータ:
      flag - 日本語 UTF8-MAC 1文字変換の真偽を設定します。
      導入されたバージョン:
      2.1
    • utfmacExists

      public boolean utfmacExists()
      入力データの日本語 UTF8-MAC コード有無の判定
      戻り値:
      入力データの日本語 UTF8-MAC コードの有無を返します。
      導入されたバージョン:
      2.1
    • isSuppress

      public boolean isSuppress()
      不正文字出力抑止の判定。 convertBuffer() 等によるコード変換時に発生する不正文字抑止の真偽を判定します。 初期値は偽であり、不正文字を出力します。
      戻り値:
      設定されている不正文字出力抑止の真偽を返します。
      導入されたバージョン:
      2.0
    • setSuppress

      public void setSuppress(boolean isSuppress)
      不正文字出力抑止の設定。 convertBuffer() 等によるコード変換時に発生する不正文字出力抑止の真偽を設定します。 出力を抑止する時は真、それ以外は偽。
      パラメータ:
      isSuppress - 不正文字出力抑止の真偽を設定します。
      導入されたバージョン:
      2.0