34std::string
str_until(
const char *str,
char ch);
37std::string
str_until(
const std::string &str,
char ch);
81 return format_hex(
reinterpret_cast<uint8_t *
>(&
val),
sizeof(T));
86template<std::
size_t N> std::string
format_hex(
const std::array<uint8_t, N> &data) {
92std::string
format_hex_pretty(
const uint8_t *data,
size_t length,
char separator =
'.',
bool show_length =
true);
96std::string
format_hex_pretty(
const uint16_t *data,
size_t length,
char separator =
'.',
bool show_length =
true);
100std::string
format_hex_pretty(
const std::vector<uint8_t> &data,
char separator =
'.',
bool show_length =
true);
104std::string
format_hex_pretty(
const std::vector<uint16_t> &data,
char separator =
'.',
bool show_length =
true);
108std::string
format_hex_pretty(
const std::string &data,
char separator =
'.',
bool show_length =
true);
112template<typename T, enable_if_t<std::is_unsigned<T>::value,
int> = 0>
124template<typename T, enable_if_t<std::is_unsigned<T>::value,
int> = 0> std::string
format_bin(T
val) {
126 return format_bin(
reinterpret_cast<uint8_t *
>(&
val),
sizeof(T));
133std::string
base64_encode(
const uint8_t *buf,
size_t buf_len);
140std::vector<uint8_t>
base64_decode(
const std::string &encoded_string);
struct @66::@67 __attribute__
Wake the main loop task from an ISR. ISR-safe.
constexpr T convert_big_endian(T val)
Convert a value between host byte order and big endian (most significant byte first) order.
std::string format_hex(const uint8_t *data, size_t length)
Format the byte array data of length len in lowercased hex.
std::string str_lower_case(const std::string &str)
Convert the string to lower case.
std::string format_bin(const uint8_t *data, size_t length)
Format the byte array data of length len in binary.
std::string str_sanitize(const std::string &str)
Sanitizes the input string by removing all characters but alphanumerics, dashes and underscores.
std::vector< uint8_t > base64_decode(const std::string &encoded_string)
Decode a base64 string to a byte vector.
std::string get_mac_address_pretty()
Get the device MAC address as a string, in colon-separated uppercase hex notation.
std::string str_snprintf(const char *fmt, size_t len,...)
std::string str_upper_case(const std::string &str)
Convert the string to upper case.
std::string format_hex_pretty(const uint8_t *data, size_t length, char separator, bool show_length)
Format a byte array in pretty-printed, human-readable hex format.
std::string str_until(const char *str, char ch)
Extract the part of the string until either the first occurrence of the specified character,...
std::string format_mac_address_pretty(const uint8_t *mac)
std::string base64_encode(const std::vector< uint8_t > &buf)
Encode a byte vector to base64 string.
std::string str_sprintf(const char *fmt,...)
size_t size_t const char * fmt
std::string get_mac_address()
Get the device MAC address as a string, in lowercase hex notation.
std::string str_snake_case(const std::string &str)
Convert the string to snake case (lowercase with underscores).
std::string str_truncate(const std::string &str, size_t length)
Truncate a string to a specific length.