[-] blazebra@programming.dev 3 points 3 weeks ago

Deku is a declarative binary parser. deku_string is an extension which currently provides utility wrappers for data vectors and unicode strings, which can be prefixed or fixed length. Additionally library provides support for 7-bit encoded integers from .NET.

For example, I often work with binary structures where strings are either length prefixed (with zero character in a buffer) or in fixed size buffer with a zero-ended sting inside.

There’s multiple examples with custom writer and reader functions, which work, but are less convenient to use.

Any additional ideas for utilities are welcome.

8
deku_string 0.4.1 release (programming.dev)

This is a small release to support Deku 0.20.0 release. The only incompatibility was an introduced descriptive-errors feature which is explicitly propagated at the moment.

The crate started as support decoding and encoding fixed and variable length unicode strings, but quite soon become more than this.

While there’s some ideas to implement, new ideas and improvements are always welcome.

[-] blazebra@programming.dev 2 points 3 months ago

You have to provide source to a rust repository. Otherwise, it’s impossible to compile and link Rust safely. There was an article in the topic.

Long story short you can prepare and link a binary library, but you can’t guarantee any type safety or additional optimisations.

[-] blazebra@programming.dev 3 points 3 months ago

Quick analysis of code shows that there’s no suspicious build scripts or imports added, just an additional poorly documented and not tested function.

Documentation is additionally published to a third-party website.

Repository is probably is hidden which is ok.

[-] blazebra@programming.dev 2 points 3 months ago

Why you’ve wrote “dont sign in…” for GitLab? GitLab is safe

6

New version of deku_string v 0.4.0. Notable changes:

  • Support for Vec<T> will all benefits of the library.
  • Full support for no_std (thanks for contribution).
  • Support for defmt library used in embedded environments.
  • New more readable documentation (including tests).

deku_string is a utility crate for deku, binary bit-aware parser with ability create serde-like models. Crate provides thin wrappers around String and Vec to support various common layouts such as fixed-length, prefix length (Pascal-like and .Net-like) and zero-ended strings.

Stay tuned for for more awesome news!

PS: Looking for contributors to provide 16-bit compile target support.

12

What’s new:

  • UTF-32 support
  • Optional serde support
  • 7-bit encoded unsigned integers like in .Net of all known fixed sizes
  • 7bit encoded u32 can be used as a size, to parse .Net strings
  • Unified implementation.

More is coming

https://crates.io/crates/deku_string

8

I just released helper library for deku to decode and encode strings in popular binary layouts (fixed length, pascal-like and c-like)

https://crates.io/crates/deku_string

[-] blazebra@programming.dev 3 points 9 months ago

It makes sense if they hire middles, not seniors

[-] blazebra@programming.dev 24 points 2 years ago

Following this logic whole human life is a puzzle game.

[-] blazebra@programming.dev 12 points 2 years ago

It’s a good suggestion

[-] blazebra@programming.dev 2 points 2 years ago

I still prefer 7z for compression

[-] blazebra@programming.dev 3 points 2 years ago

7z has way better (ultra) compression

[-] blazebra@programming.dev 2 points 2 years ago

Integer sqrt can be used for integers with any length, not only for integers fit into f64

[-] blazebra@programming.dev 2 points 2 years ago

Nice article, I enjoyed it. Why float sqrt has been used? Integer sqrt is way faster and easily supports integers of any lengths

[-] blazebra@programming.dev 5 points 2 years ago

Could you please explain why he should be embarrassed by such post? What would you improve?

view more: next ›

blazebra

joined 2 years ago