LHA Library for Java

jp.gr.java_conf.dangan.util.lha
クラス CRC16

java.lang.Object
  拡張jp.gr.java_conf.dangan.util.lha.CRC16
すべての実装インタフェース:
Checksum

public class CRC16
extends Object
implements Checksum

CRC16値を算出するためのクラス。 クラス内の定数、処理、説明は

 C言語によるアルゴリズム辞典
   奥村晴彦著 技術評論社 
   ISBN4-87408-414-1 C3055 2400円(購入当時)
 
によった。
 -- revision history --
 $Log: CRC16.java,v $
 Revision 1.0  2002/07/24 00:00:00  dangan
 add to version control
 [maintanance]
     ソース整備
     タブ廃止
     ライセンス文の変更

 

バージョン:
$Revision: 1.0 $
作成者:
$Author: dangan $

フィールドの概要
static int CCITT_INIT
          CCITT の X.25という規格の crc の初期値。
static int CCITT_POLY
          CCITT の X.25という規格の 多項式 x^16 + x^12 + x^5 + 1 をビット表現にしたもの。
static int CRC_ANSY_INIT
          LHAで使用される crc の初期値。
static int CRC_ANSY_POLY
          CRC-ANSY または CRC-16 として有名な 多項式 x^16 + x^15 + x^2 + 1 をビット表現にしたもの。
static int DefaultINIT
          LHAで通常使用される、という意味でデフォルトのcrcの初期値。
static int DefaultPOLY
          LHAで通常使用される、という意味でデフォルトのCRC多項式。
 
コンストラクタの概要
CRC16()
          LHAで使用される 多項式と初期値を持つ CRC16を生成する。
CRC16(int poly)
          poly で指定される 多項式を持つ CRC16を生成する。
CRC16(int[] crcTable, int init)
          crcTable で指定される CRC算出用表と initで指定される初期値を持つ CRC16を作成する。
CRC16(int poly, int init)
          poly で指定される 多項式と initで指定される初期値を持つ CRC16を生成する。
 
メソッドの概要
 long getValue()
          crc 値を得る。
static int[] makeCrcTable(int poly)
          CRC値算出用の 表を作成する。
 void reset()
          crc 値を初期値に設定しなおす。
 void update(byte[] buffer)
          buffer で指定したバイト配列で crc の値を更新する。
 void update(byte[] buffer, int index, int length)
          buffer で指定したバイト配列で crc の値を更新する。
 void update(int byte8)
          byte8 で指定される 1バイトのデータで crcの値を更新する。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

CRC_ANSY_POLY

public static final int CRC_ANSY_POLY
CRC-ANSY または CRC-16 として有名な 多項式 x^16 + x^15 + x^2 + 1 をビット表現にしたもの。

関連項目:
定数フィールド値

CRC_ANSY_INIT

public static final int CRC_ANSY_INIT
LHAで使用される crc の初期値。 作者が勝手に設定した値であり、 CRC-ANSY でこの値が初期値として 定められているかは知らない。

関連項目:
定数フィールド値

CCITT_POLY

public static final int CCITT_POLY
CCITT の X.25という規格の 多項式 x^16 + x^12 + x^5 + 1 をビット表現にしたもの。

関連項目:
定数フィールド値

CCITT_INIT

public static final int CCITT_INIT
CCITT の X.25という規格の crc の初期値。

関連項目:
定数フィールド値

DefaultPOLY

public static final int DefaultPOLY
LHAで通常使用される、という意味でデフォルトのCRC多項式。 CRC16.CRC_ANSY_POLY と同等である。

関連項目:
定数フィールド値

DefaultINIT

public static final int DefaultINIT
LHAで通常使用される、という意味でデフォルトのcrcの初期値。 CRC16.CRC_ANSY_INIT と同等である。

関連項目:
定数フィールド値
コンストラクタの詳細

CRC16

public CRC16()
LHAで使用される 多項式と初期値を持つ CRC16を生成する。


CRC16

public CRC16(int poly)
poly で指定される 多項式を持つ CRC16を生成する。 初期値は poly が CRC16.CCITT_POLY であれば CRC16.CCITT_INIT を そうでなければ CRC16.DefaultINIT を使用する。

パラメータ:
poly - CRC16算出に使用する多項式のビット表現

CRC16

public CRC16(int poly,
             int init)
poly で指定される 多項式と initで指定される初期値を持つ CRC16を生成する。

パラメータ:
poly - CRC16算出に使用する多項式のビット表現
init - crc の初期値

CRC16

public CRC16(int[] crcTable,
             int init)
crcTable で指定される CRC算出用表と initで指定される初期値を持つ CRC16を作成する。

パラメータ:
crcTable - CRC16算出に使用する表
init - crc の初期値
メソッドの詳細

update

public void update(int byte8)
byte8 で指定される 1バイトのデータで crcの値を更新する。

定義:
インタフェース Checksum 内の update
パラメータ:
byte8 - crcを更新する 1バイトのデータ

update

public void update(byte[] buffer)
buffer で指定したバイト配列で crc の値を更新する。

パラメータ:
buffer - crcを更新する データを持つバイト配列

update

public void update(byte[] buffer,
                   int index,
                   int length)
buffer で指定したバイト配列で crc の値を更新する。

定義:
インタフェース Checksum 内の update
パラメータ:
buffer - crcを更新する データを持つバイト配列
index - データの開始位置
length - チェックサムの更新に使うバイト数

reset

public void reset()
crc 値を初期値に設定しなおす。

定義:
インタフェース Checksum 内の reset

getValue

public long getValue()
crc 値を得る。 crc 値は 2バイトの値であり、 0x0000〜0xFFFFにマップされる。

定義:
インタフェース Checksum 内の getValue
戻り値:
crc 値

makeCrcTable

public static int[] makeCrcTable(int poly)
CRC値算出用の 表を作成する。

パラメータ:
poly - CRC算出用の多項式

LHA Library for Java

バグやドキュメントの誤りの報告は作者宛てにお願いします。
ドキュメント内に含まれる社名、製品名については一般に各社の商標または登録商標です。
Copyright © 2001-2002 Michel Ishizuka. All Rights Reserved.