# Format-bytes
This crate exposes a procedural macro that allows you to format bytestrings.
For more background on why you would want to do that,
[read this article](https://octobus.net/blog/2020-06-05-not-everything-is-utf8.html).
## Usage
Add this to your `Cargo.toml`:
```toml
[dependencies]
format-bytes = "0.1"
```
then use the macro like so:
```rust
use format_bytes::format_bytes;
fn main() {
assert_eq!(
format_bytes!(b"look at those {} bytes", &[0u8, 1, 2]),
b"look at those \x00\x01\x02 bytes"
);
}
```
See more examples of how it works on the documentation of
[`format_bytes!` itself](https://docs.rs/format-bytes/*/format_bytes/macro.format_bytes.html).
## Missing features
* Named arguments, but they should be added in a future version
* Python-like "f-string" functionality is not planned because of its more
complex implementation and limited actual benefit
* ``format!``-like padding helpers: if the need manifests itself, they might
appear
## Why not 1.0?
Not until named arguments have landed and the macro gets a bit of mileage (it
will be used in [Mercurial](https://www.mercurial-scm.org)).