struct HexEscape [src]

Fields

bytes: []const u8
charset: *const [16]u8

Members

Source

pub const HexEscape = struct { bytes: []const u8, charset: *const [16]u8, pub const upper_charset = "0123456789ABCDEF"; pub const lower_charset = "0123456789abcdef"; pub fn format(se: HexEscape, w: *std.Io.Writer) std.Io.Writer.Error!void { const charset = se.charset; var buf: [4]u8 = undefined; buf[0] = '\\'; buf[1] = 'x'; for (se.bytes) |c| { if (std.ascii.isPrint(c)) { try w.writeByte(c); } else { buf[2] = charset[c >> 4]; buf[3] = charset[c & 15]; try w.writeAll(&buf); } } } }