diff --git a/default.go b/default.go index 9dd8493..c196ce8 100644 --- a/default.go +++ b/default.go @@ -36,6 +36,11 @@ func Password() string { return Default.Password() } +// Password returns an arbitrary pct-encoded. +func PctEncoded() string { + return Default.PctEncoded() +} + // PhoneNumber returns an arbitrary phone‐number. // // Some example phone‐number include: diff --git a/t_pctencoded.go b/t_pctencoded.go new file mode 100644 index 0000000..52d14e9 --- /dev/null +++ b/t_pctencoded.go @@ -0,0 +1,17 @@ +package arbitrary + +var hexdigs []byte = []byte{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'} + +// PctEncoded returns an arbitrary pct-encoded. +func (arb T) PctEncoded() string { + var buffer [3]byte + + buffer[0] = '%' + + var length int = len(hexdigs) + + buffer[1] = hexdigs[arb.randomness.Intn(length)] + buffer[2] = hexdigs[arb.randomness.Intn(length)] + + return string(buffer[:]) +}