Carmelo Cascone
Committed by Gerrit Code Review

Added possibility to decode HEX strings without separator

Change-Id: I6e11ad2a3dc4e39b148a740d5f19d80705f78b48
...@@ -109,7 +109,25 @@ public final class HexString { ...@@ -109,7 +109,25 @@ public final class HexString {
109 * @throws NumberFormatException if input hex string cannot be parsed 109 * @throws NumberFormatException if input hex string cannot be parsed
110 */ 110 */
111 public static byte[] fromHexString(final String values) { 111 public static byte[] fromHexString(final String values) {
112 - String[] octets = values.split(":"); 112 + return fromHexString(values, ":");
113 + }
114 +
115 + /**
116 + * Convert a hex-string with arbitrary separator to byte array.
117 + * If separator is the empty string or null, then no separator will be considered.
118 + *
119 + * @param values hex string to be converted
120 + * @return converted byte array
121 + * @throws NumberFormatException if input hex string cannot be parsed
122 + */
123 + public static byte[] fromHexString(final String values, String separator) {
124 + String regexSeparator;
125 + if (separator == null || separator.length() == 0) {
126 + regexSeparator = "(?<=\\G.{2})"; // Split string into several two character strings
127 + } else {
128 + regexSeparator = separator;
129 + }
130 + String[] octets = values.split(regexSeparator);
113 byte[] ret = new byte[octets.length]; 131 byte[] ret = new byte[octets.length];
114 132
115 for (int i = 0; i < octets.length; i++) { 133 for (int i = 0; i < octets.length; i++) {
......