import "encoding/git85"

分散型バージョン管理システムGitで使用されているradix 85データエンコーディングを実装しています。

パッケージファイル

git.go

Decode関数

func Decode(dst, src []byte) (n int, err os.Error)

Decodeは、srcを最大MaxDecodedLen(len(src))バイト、デコードしてdstへ書き込んだ実際のバイト数を返します。

無効な入力があった場合はCorruptInputErrorを返します。

Encode関数

func Encode(dst, src []byte) int

Encodeは、srcをエンコードし最大EncodedLen(len(src))バイトをdstへ書き込みます。便宜的にdstへ書き込んだバイト数が返されますが、この値は常にEncodedLen(len(src))となります。本関数は分散型バージョン管理システムGitで使用されているradix 85データエンコーディングを実装しています。

このエンコーディングはsrcを最大52バイトのブロックに分割し、それぞれのブロック境界でエンコードします。

EncodedLen関数

func EncodedLen(n int) int

EecodedLenは、nバイトのソースをエンコードしたときのサイズを返します。

MaxDecodedLen関数

func MaxDecodedLen(n int) int

NewDecoder関数

func NewDecoder(r io.Reader) io.Reader

NewDecoderは、新しいGit base85ストリームデコーダを返します。

NewEncoder関数

func NewEncoder(w io.Writer) io.WriteCloser

NewEncoderは、新しいGit base85ストリームエンコーダを返します。返されたライタへデータを書き込むと、エンコードされてwへ書き込まれまます。Gitエンコーディングは52バイトブロックで処理します。書き込みが終了した際、部分的に書き込まれたブロックをフラッシュするために呼び出し側で返されたエンコーダのCloseを必ず呼び出してください。

CorruptInputError型

type CorruptInputError int64

(CorruptInputError) String関数

func (e CorruptInputError) String() string