From f526425c1a3c2a835e43d9f41ddfdcafc4cef46a Mon Sep 17 00:00:00 2001 From: nathan Date: Tue, 7 Jul 2020 22:41:43 +0200 Subject: [PATCH] Added Sys.hexCharToInt --- src/dorkbox/util/Sys.java | 52 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/src/dorkbox/util/Sys.java b/src/dorkbox/util/Sys.java index 10668d4..dc9618a 100644 --- a/src/dorkbox/util/Sys.java +++ b/src/dorkbox/util/Sys.java @@ -390,6 +390,7 @@ class Sys { * Converts an ASCII character representing a hexadecimal * value into its integer equivalent. */ + @SuppressWarnings("DuplicatedCode") public static int hexByteToInt(byte b) { switch (b) { @@ -436,6 +437,57 @@ class Sys { } } + /** + * Converts an ASCII character representing a hexadecimal + * value into its integer equivalent. + */ + @SuppressWarnings("DuplicatedCode") + public static + int hexCharToInt(char b) { + switch (b) { + case '0': + return 0; + case '1': + return 1; + case '2': + return 2; + case '3': + return 3; + case '4': + return 4; + case '5': + return 5; + case '6': + return 6; + case '7': + return 7; + case '8': + return 8; + case '9': + return 9; + case 'A': + case 'a': + return 10; + case 'B': + case 'b': + return 11; + case 'C': + case 'c': + return 12; + case 'D': + case 'd': + return 13; + case 'E': + case 'e': + return 14; + case 'F': + case 'f': + return 15; + default: + throw new IllegalArgumentException("Error decoding byte"); + } + } + /** * A 4-digit hex result. */