Namespace Pot.Archive.AlphamericString
Defined in: <pot.js>.
| Constructor Attributes | Constructor Name and Description |
|---|---|
|
Compress/Decompress the data using the LZ77 algorithm.
|
| Method Attributes | Method Name and Description |
|---|---|
| <static> |
Pot.Archive.AlphamericString.decode(a)
Decompress with decode a string from
the AlphamericString (base 63 [a-zA-Z0-9_] format string).
|
| <static> |
Pot.Archive.AlphamericString.encode(string)
Compress with encode a string to
the base 63 [a-zA-Z0-9_] format string.
|
Namespace Detail
Pot.Archive.AlphamericString
Compress/Decompress the data using the LZ77 algorithm.
cf. @link http://www.ietf.org/rfc/rfc1951.txt
via AlphamericHTML
- See:
- http://nurucom-archives.hp.infoseek.co.jp/digital/
Method Detail
<static>
{Function}
Pot.Archive.AlphamericString.decode(a)
Decompress with decode a string from
the AlphamericString (base 63 [a-zA-Z0-9_] format string).
var string = 'Hello Hello foooooooo baaaaaaaar';
var result = Pot.Archive.AlphamericString.encode(string);
var decode = Pot.Archive.AlphamericString.decode(result);
debug('string = ' + string + ' : length = ' + string.length);
debug('result = ' + result + ' : length = ' + result.length);
debug('decode = ' + decode + ' : length = ' + decode.length);
// @results
// string = 'Hello Hello foooooooo baaaaaaaar' : length = 32
// result = 'Y8Z5CCF_v56F__5X0Z21__5I' : length = 24
// decode = 'Hello Hello foooooooo baaaaaaaar' : length = 32
// Example of compression that is include multibyte string.
var string = 'Hello Hello こんにちは、こんにちは、にゃーにゃー';
var result = Pot.Archive.AlphamericString.encode(string);
var decode = Pot.Archive.AlphamericString.decode(result);
// Note the change of byte size.
var bytesS = utf8ByteOf(string);
var bytesR = utf8ByteOf(result);
var bytesD = utf8ByteOf(decode);
debug('string=' + string + ', length=' + string.length +
', ' + bytesS + ' bytes');
debug('result=' + result + ', length=' + result.length +
', ' + bytesR + ' bytes');
debug('decode=' + decode + ', length=' + decode.length +
', ' + bytesD + ' bytes');
// @results
// string = 'Hello Hello こんにちは、こんにちは、にゃーにゃー',
// length = 30,
// 66 bytes
//
// result = 'Y8Z5CCF_v5cJeJdB1Fa1_v4dBe3hS_y1',
// length = 32,
// 32 bytes
//
// decode = 'Hello Hello こんにちは、こんにちは、にゃーにゃー',
// length = 30,
// 66 bytes
//
- Parameters:
- {String} a
- A input string.
- Returns:
- {String} A result string.
<static>
{Function}
Pot.Archive.AlphamericString.encode(string)
Compress with encode a string to
the base 63 [a-zA-Z0-9_] format string.
var string = 'Hello Hello foooooooo baaaaaaaar';
var result = Pot.Archive.AlphamericString.encode(string);
var decode = Pot.Archive.AlphamericString.decode(result);
debug('string = ' + string + ' : length = ' + string.length);
debug('result = ' + result + ' : length = ' + result.length);
debug('decode = ' + decode + ' : length = ' + decode.length);
// @results
// string = 'Hello Hello foooooooo baaaaaaaar' : length = 32
// result = 'Y8Z5CCF_v56F__5X0Z21__5I' : length = 24
// decode = 'Hello Hello foooooooo baaaaaaaar' : length = 32
// Example of compression that is include multibyte string.
var string = 'Hello Hello こんにちは、こんにちは、にゃーにゃー';
var result = Pot.Archive.AlphamericString.encode(string);
var decode = Pot.Archive.AlphamericString.decode(result);
// Note the change of byte size.
var bytesS = utf8ByteOf(string);
var bytesR = utf8ByteOf(result);
var bytesD = utf8ByteOf(decode);
debug('string=' + string + ', length=' + string.length +
', ' + bytesS + ' bytes');
debug('result=' + result + ', length=' + result.length +
', ' + bytesR + ' bytes');
debug('decode=' + decode + ', length=' + decode.length +
', ' + bytesD + ' bytes');
// @results
// string = 'Hello Hello こんにちは、こんにちは、にゃーにゃー',
// length = 30,
// 66 bytes
//
// result = 'Y8Z5CCF_v5cJeJdB1Fa1_v4dBe3hS_y1',
// length = 32,
// 32 bytes
//
// decode = 'Hello Hello こんにちは、こんにちは、にゃーにゃー',
// length = 30,
// 66 bytes
//
- Parameters:
- {String} string
- An input string.
- Returns:
- {String} A result string.