[−][src]Crate lf2_codec
Encodes and decodes Little Fighter 2 (LF2) data files.
Examples
Encode
ⓘThis code runs with edition 2018
use lf2_codec::{DataEncoder, EncodeError}; const CHARACTER_DAT_ENCODED: &[u8] = b"\ This is sample data as bytes. \ The first 123 bytes are ignored during decoding, the rest are decoded using a caesar cipher. \ \xab\xc6\xaf\xd5\xc0\xd4\xa7\xcc\xcc\xcf\xb3\ \xe1\xc6\xb5\xca\x83\x93\x97\xdf\xe4\xe2\xac\ \xdb\xab\xc6\xc0\xd9\xd4\xad\xe3\xd2\xa5"; let data = "<bmp_begin>name: Azriel<bmp_end>"; let encoded = DataEncoder::encode(data.as_bytes())?; assert_eq!(CHARACTER_DAT_ENCODED, encoded);
Decode
ⓘThis code runs with edition 2018
use lf2_codec::{DataDecoder, DecodeError}; const CHARACTER_DAT_ENCODED: &[u8] = b"\ This is sample data as bytes. \ The first 123 bytes are ignored during decoding, the rest are decoded using a caesar cipher. \ \xab\xc6\xaf\xd5\xc0\xd4\xa7\xcc\xcc\xcf\xb3\ \xe1\xc6\xb5\xca\x83\x93\x97\xdf\xe4\xe2\xac\ \xdb\xab\xc6\xc0\xd9\xd4\xad\xe3\xd2\xa5"; let decoded = DataDecoder::decode(CHARACTER_DAT_ENCODED)?; let expected = "<bmp_begin>name: Azriel<bmp_end>"; assert_eq!(expected, String::from_utf8_lossy(&decoded));
Structs
DataDecoder | Decodes object data from LF2. |
DataEncoder | Encodes data that the LF2 application may read. |
DecodeError | Error occurred reading from the stream to decode. |
EncodeError | Error occurred reading from the stream to encode. |
Enums
Error | Error that occurs when reading or writing to a stream. |
Constants
CAESAR_CIPHER | Key used to shift the ascii code of each object. |
DATA_HEADER | Data used to fill the first 123 bytes of the data file. Strictly 123 bytes long. |