From: Lucas Bajolet Date: Tue, 20 Oct 2015 15:37:47 +0000 (-0400) Subject: lib/core: Added new `hexdigest` service on `Text` X-Git-Tag: v0.7.9~19^2 X-Git-Url: http://nitlanguage.org lib/core: Added new `hexdigest` service on `Text` Signed-off-by: Lucas Bajolet --- diff --git a/lib/core/bytes.nit b/lib/core/bytes.nit index 227759a..94d3d27 100644 --- a/lib/core/bytes.nit +++ b/lib/core/bytes.nit @@ -289,6 +289,20 @@ redef class Text end return ret end + + # Gets the hexdigest of the bytes of `self` + # + # assert "<STRING/&rt;".hexdigest == "266C743B535452494E47262334373B2672743B" + fun hexdigest: String do + var ln = bytelen + var outns = new NativeString(ln * 2) + var oi = 0 + for i in [0 .. ln[ do + bytes[i].add_digest_at(outns, oi) + oi += 2 + end + return new FlatString.with_infos(outns, ln * 2, 0, ln * 2 - 1) + end end redef class FlatText