[−][src]Trait hex_buffer_serde::Hex
Provides hex-encoded (de)serialization for serde
.
Note that the trait is automatically implemented for types that
implement AsRef<[u8]>
and TryFrom<&[u8]>
.
Required methods
fn create_bytes(value: &T) -> Cow<[u8]>
Converts the value into bytes. This is used for serialization.
The returned buffer can be either borrowed from the type, or created by the method.
fn from_bytes(bytes: &[u8]) -> Result<T, String>
Creates a value from the byte slice.
Errors
If this method fails, it should return a human-readable error description conforming
to serde
conventions (no upper-casing of the first letter, no punctuation at the end).
Provided methods
fn serialize<S: Serializer>(value: &T, serializer: S) -> Result<S::Ok, S::Error>
Serializes the value for serde
. This method is not meant to be overridden.
The serialization is a lower-case hex string
for human-readable serializers (e.g., JSON or TOML), and the original bytes
returned by create_bytes
for non-human-readable ones.
fn deserialize<'de, D>(deserializer: D) -> Result<T, D::Error> where
D: Deserializer<'de>,
D: Deserializer<'de>,
Deserializes a value using serde
. This method is not meant to be overridden.
If the deserializer is human-readable (e.g., JSON or TOML), this method expects a hex-encoded string. Otherwise, the method expects a byte array.
Implementors
impl<T> Hex<T> for HexForm<T> where
T: AsRef<[u8]> + for<'a> TryFrom<&'a [u8]>,
<T as TryFrom<&'a [u8]>>::Error: ToString,
[src]
T: AsRef<[u8]> + for<'a> TryFrom<&'a [u8]>,
<T as TryFrom<&'a [u8]>>::Error: ToString,