+<jsp:directive.page import="
+ java.util.List,
+ com.google.zxing.Result,
+ com.google.zxing.client.result.ResultParser,
+ com.google.zxing.client.result.ParsedResult,
+ org.apache.commons.lang.StringEscapeUtils"/>
+ <jsp:declaration>
+ private static String arrayToString(byte[] bytes) {
+ int length = bytes.length;
+ StringBuilder result = new StringBuilder(length << 2);
+ int i = 0;
+ while (i < length) {
+ int max = Math.min(i + 8, length);
+ for (int j = i; j < max; j++) {
+ int value = bytes[j] & 0xFF;
+ result.append(Integer.toHexString(value / 16));
+ result.append(Integer.toHexString(value % 16));
+ result.append(' ');
+ }
+ result.append('\n');
+ i += 8;
+ }
+ for (int j = i - 8; j < length; j++) {
+ result.append(Integer.toHexString(bytes[j] & 0xFF));
+ result.append(' ');
+ }
+ return result.toString();
+ }
+</jsp:declaration>