Function percentEncode [src]

Prototype

pub fn percentEncode(w: *Writer, raw: []const u8, comptime isValidChar: fn (u8) bool) Writer.Error!void

Parameters

w: *Writerraw: []const u8isValidChar: fn (u8) bool

Source

pub fn percentEncode(w: *Writer, raw: []const u8, comptime isValidChar: fn (u8) bool) Writer.Error!void { var start: usize = 0; for (raw, 0..) |char, index| { if (isValidChar(char)) continue; try w.print("{s}%{X:0>2}", .{ raw[start..index], char }); start = index + 1; } try w.writeAll(raw[start..]); }