hex
Converts an unsigned integer of any multiple of u8 to an array of lowercase hex bytes, little endian.
Function parameters
Parameters
- x:anytype
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 hex(x: anytype) [@sizeOf(@TypeOf(x)) * 2]u8 {
comptime assert(@typeInfo(@TypeOf(x)).int.signedness == .unsigned);
var result: [@sizeOf(@TypeOf(x)) * 2]u8 = undefined;
var i: usize = 0;
while (i < result.len / 2) : (i += 1) {
const byte: u8 = @truncate(x >> @intCast(8 * i));
result[i * 2 + 0] = hex_charset[byte >> 4];
result[i * 2 + 1] = hex_charset[byte & 15];
}
return result;
}