<commit_before># asn1-cereal
A collection of encoders and decoders for BER, DER and ASN.1.

The grains of this library are a collection of traits and macros, that
allow serialization and deserialization of rust types to and from ASN.1.
For example, the following will encode this struct as an ASN.1 sequence.

    #[macro_use]
    extern crate asn1_cereal;

    struct ShortSequence {
      z: u64,
      y: u32,
    }
    
    asn1_sequence!(
      ShortSequence,
      "SHORT_SEQUENCE",
      z,
      y
    );

The asn1\_sequence! macro generates the trait implementation for each type,
which in turn call the serialize/deserialize method for each struct
field. For custom primitive ASN.1 elements, you may need to provide
your own implementation.<commit_msg>Add syntax highlighting to README<commit_after># asn1-cereal
A collection of encoders and decoders for BER, DER and ASN.1.

The grains of this library are a collection of traits and macros, that
allow serialization and deserialization of rust types to and from ASN.1.
For example, the following will encode this struct as an ASN.1 sequence.

```rust
#[macro_use]
extern crate asn1_cereal;

struct ShortSequence {
  z: u64,
  y: u32,
}

asn1_sequence!(
  ShortSequence,
  "SHORT_SEQUENCE",
  z,
  y
);
```

The asn1\_sequence! macro generates the trait implementation for each type,
which in turn call the serialize/deserialize method for each struct
field. For custom primitive ASN.1 elements, you may need to provide
your own implementation.
{'fraction_non_alphanumeric': 0.05851063829787234, 'fraction_numerical': 0.015957446808510637, 'mean_word_length': 3.7476340694006307, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7401012', 'n_tokens_mistral': 465, 'n_tokens_neox': 446, 'n_words': 200}