bytesToHex
Encodes a sequence of bytes as hexadecimal digits. Returns an array containing the encoded bytes.
Function parameters
Parameters
Type definitions in this namespace
Types
- FormatOptions
- Deprecated in favor of `Options`.
- Parser
- A stream based parser for format strings.
Deprecated in favor of `Writer.print`.
Functions
- format
- Deprecated in favor of `Writer.print`.
- printInt
- Asserts the rendered integer value fits in `buffer`.
- digits2
- Converts values in the range [0, 100) to a base 10 string.
- Formatter
- Deprecated in favor of `Alt`.
- Alt
- Creates a type suitable for instantiating and passing to a "{f}" placeholder.
- alt
- Helper for calling alternate format methods besides one named "format".
- parseInt
- Parses the string `buf` as signed or unsigned representation in the
- parseIntWithGenericCharacter
- Like `parseInt`, but with a generic `Character` type.
- parseUnsigned
- Parses the string `buf` as unsigned representation in the specified base
- parseIntSizeSuffix
- Parses a number like '2G', '2Gi', or '2GiB'.
- bufPrint
- Print a Formatter string into `buf`.
- count
- Count the characters needed for format.
- bytesToHex
- Encodes a sequence of bytes as hexadecimal digits.
- hexToBytes
- Decodes the sequence of bytes represented by the specified string of
- hex
- Converts an unsigned integer of any multiple of u8 to an array of lowercase
Error sets in this namespace
Error Sets
= 3
Values
- hex_charset
- = "0123456789abcdef"
Source
Implementation
pub fn bytesToHex(input: anytype, case: Case) [input.len * 2]u8 {
if (input.len == 0) return [_]u8{};
comptime assert(@TypeOf(input[0]) == u8); // elements to encode must be unsigned bytes
const charset = "0123456789" ++ if (case == .upper) "ABCDEF" else "abcdef";
var result: [input.len * 2]u8 = undefined;
for (input, 0..) |b, i| {
result[i * 2 + 0] = charset[b >> 4];
result[i * 2 + 1] = charset[b & 15];
}
return result;
}