pub trait StringReadExt: Read {
// Required methods
fn read_utf8_string_uleb(&mut self, max_len: usize) -> Result<String>;
fn read_utf8_string_uleb_strict(&mut self, max_len: usize) -> Result<String>;
fn read_utf8_string_u16_be(&mut self, max_len: usize) -> Result<String>;
fn read_utf8_string_u16_le(&mut self, max_len: usize) -> Result<String>;
fn read_utf8_string_u32_be(&mut self, max_len: usize) -> Result<String>;
fn read_utf8_string_u32_le(&mut self, max_len: usize) -> Result<String>;
}Expand description
Extension methods for reading length-prefixed UTF-8 strings.
Required Methods§
Sourcefn read_utf8_string_uleb(&mut self, max_len: usize) -> Result<String>
fn read_utf8_string_uleb(&mut self, max_len: usize) -> Result<String>
Reads a UTF-8 string with an unsigned LEB128 byte-length prefix.
§Parameters
max_len: Maximum accepted UTF-8 payload length in bytes.
§Returns
The decoded string.
§Errors
Returns an I/O error for length or payload reads, ErrorKind::InvalidData
when the encoded length exceeds max_len, or ErrorKind::InvalidData
when the payload is not valid UTF-8.
Sourcefn read_utf8_string_uleb_strict(&mut self, max_len: usize) -> Result<String>
fn read_utf8_string_uleb_strict(&mut self, max_len: usize) -> Result<String>
Reads a UTF-8 string with a canonical unsigned LEB128 byte-length prefix.
§Parameters
max_len: Maximum accepted UTF-8 payload length in bytes.
§Returns
The decoded string.
§Errors
Returns an I/O error for length or payload reads, ErrorKind::InvalidData
when the length prefix is malformed or non-canonical, ErrorKind::InvalidData
when the encoded length exceeds max_len, or ErrorKind::InvalidData
when the payload is not valid UTF-8.
Sourcefn read_utf8_string_u16_be(&mut self, max_len: usize) -> Result<String>
fn read_utf8_string_u16_be(&mut self, max_len: usize) -> Result<String>
Reads a UTF-8 string with a big-endian u16 byte-length prefix.
§Parameters
max_len: Maximum accepted UTF-8 payload length in bytes.
§Returns
The decoded string.
§Errors
Returns an I/O error for length or payload reads, ErrorKind::InvalidData
when the encoded length exceeds max_len, or ErrorKind::InvalidData
when the payload is not valid UTF-8.
Sourcefn read_utf8_string_u16_le(&mut self, max_len: usize) -> Result<String>
fn read_utf8_string_u16_le(&mut self, max_len: usize) -> Result<String>
Reads a UTF-8 string with a little-endian u16 byte-length prefix.
§Parameters
max_len: Maximum accepted UTF-8 payload length in bytes.
§Returns
The decoded string.
§Errors
Returns an I/O error for length or payload reads, ErrorKind::InvalidData
when the encoded length exceeds max_len, or ErrorKind::InvalidData
when the payload is not valid UTF-8.
Sourcefn read_utf8_string_u32_be(&mut self, max_len: usize) -> Result<String>
fn read_utf8_string_u32_be(&mut self, max_len: usize) -> Result<String>
Reads a UTF-8 string with a big-endian u32 byte-length prefix.
§Parameters
max_len: Maximum accepted UTF-8 payload length in bytes.
§Returns
The decoded string.
§Errors
Returns an I/O error for length or payload reads, ErrorKind::InvalidData
when the encoded length exceeds max_len, or ErrorKind::InvalidData
when the payload is not valid UTF-8.
Sourcefn read_utf8_string_u32_le(&mut self, max_len: usize) -> Result<String>
fn read_utf8_string_u32_le(&mut self, max_len: usize) -> Result<String>
Reads a UTF-8 string with a little-endian u32 byte-length prefix.
§Parameters
max_len: Maximum accepted UTF-8 payload length in bytes.
§Returns
The decoded string.
§Errors
Returns an I/O error for length or payload reads, ErrorKind::InvalidData
when the encoded length exceeds max_len, or ErrorKind::InvalidData
when the payload is not valid UTF-8.