From b638155f88ca76f9f8437bc7070baade6628353a Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Wed, 07 Oct 2015 14:40:14 +0000
Subject: [PATCH] Change byte to hex conversions to return computed at initialization strings instead of hardcoded values

---
 opendj-server-legacy/src/main/java/org/opends/server/util/StaticUtils.java |  801 -------------------------
 opendj-core/src/main/java/com/forgerock/opendj/util/StaticUtils.java       | 1046 ---------------------------------
 2 files changed, 34 insertions(+), 1,813 deletions(-)

diff --git a/opendj-core/src/main/java/com/forgerock/opendj/util/StaticUtils.java b/opendj-core/src/main/java/com/forgerock/opendj/util/StaticUtils.java
index 1ba8bdc..6e79431 100644
--- a/opendj-core/src/main/java/com/forgerock/opendj/util/StaticUtils.java
+++ b/opendj-core/src/main/java/com/forgerock/opendj/util/StaticUtils.java
@@ -91,6 +91,18 @@
     /** UTC TimeZone is assumed to never change over JVM lifetime. */
     private static final TimeZone TIME_ZONE_UTC_OBJ = TimeZone.getTimeZone(TIME_ZONE_UTC);
 
+    private static final String[][] BYTE_HEX_STRINGS = new String[2][256];
+    private static final int UPPER_CASE = 0;
+    private static final int LOWER_CASE = 1;
+
+    static {
+        String[] hexDigits = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"};
+        for (int i = 0; i < 256; i++) {
+            BYTE_HEX_STRINGS[UPPER_CASE][i] = hexDigits[i >>> 4] + hexDigits[i & 0xF];
+            BYTE_HEX_STRINGS[LOWER_CASE][i] = BYTE_HEX_STRINGS[UPPER_CASE][i].toLowerCase();
+        }
+    }
+
     /**
      * The default scheduler which should be used when the application does not
      * provide one.
@@ -125,522 +137,7 @@
      * @return The string representation of the provided byte in hexadecimal.
      */
     public static String byteToHex(final byte b) {
-        switch (b & 0xFF) {
-        case 0x00:
-            return "00";
-        case 0x01:
-            return "01";
-        case 0x02:
-            return "02";
-        case 0x03:
-            return "03";
-        case 0x04:
-            return "04";
-        case 0x05:
-            return "05";
-        case 0x06:
-            return "06";
-        case 0x07:
-            return "07";
-        case 0x08:
-            return "08";
-        case 0x09:
-            return "09";
-        case 0x0A:
-            return "0A";
-        case 0x0B:
-            return "0B";
-        case 0x0C:
-            return "0C";
-        case 0x0D:
-            return "0D";
-        case 0x0E:
-            return "0E";
-        case 0x0F:
-            return "0F";
-        case 0x10:
-            return "10";
-        case 0x11:
-            return "11";
-        case 0x12:
-            return "12";
-        case 0x13:
-            return "13";
-        case 0x14:
-            return "14";
-        case 0x15:
-            return "15";
-        case 0x16:
-            return "16";
-        case 0x17:
-            return "17";
-        case 0x18:
-            return "18";
-        case 0x19:
-            return "19";
-        case 0x1A:
-            return "1A";
-        case 0x1B:
-            return "1B";
-        case 0x1C:
-            return "1C";
-        case 0x1D:
-            return "1D";
-        case 0x1E:
-            return "1E";
-        case 0x1F:
-            return "1F";
-        case 0x20:
-            return "20";
-        case 0x21:
-            return "21";
-        case 0x22:
-            return "22";
-        case 0x23:
-            return "23";
-        case 0x24:
-            return "24";
-        case 0x25:
-            return "25";
-        case 0x26:
-            return "26";
-        case 0x27:
-            return "27";
-        case 0x28:
-            return "28";
-        case 0x29:
-            return "29";
-        case 0x2A:
-            return "2A";
-        case 0x2B:
-            return "2B";
-        case 0x2C:
-            return "2C";
-        case 0x2D:
-            return "2D";
-        case 0x2E:
-            return "2E";
-        case 0x2F:
-            return "2F";
-        case 0x30:
-            return "30";
-        case 0x31:
-            return "31";
-        case 0x32:
-            return "32";
-        case 0x33:
-            return "33";
-        case 0x34:
-            return "34";
-        case 0x35:
-            return "35";
-        case 0x36:
-            return "36";
-        case 0x37:
-            return "37";
-        case 0x38:
-            return "38";
-        case 0x39:
-            return "39";
-        case 0x3A:
-            return "3A";
-        case 0x3B:
-            return "3B";
-        case 0x3C:
-            return "3C";
-        case 0x3D:
-            return "3D";
-        case 0x3E:
-            return "3E";
-        case 0x3F:
-            return "3F";
-        case 0x40:
-            return "40";
-        case 0x41:
-            return "41";
-        case 0x42:
-            return "42";
-        case 0x43:
-            return "43";
-        case 0x44:
-            return "44";
-        case 0x45:
-            return "45";
-        case 0x46:
-            return "46";
-        case 0x47:
-            return "47";
-        case 0x48:
-            return "48";
-        case 0x49:
-            return "49";
-        case 0x4A:
-            return "4A";
-        case 0x4B:
-            return "4B";
-        case 0x4C:
-            return "4C";
-        case 0x4D:
-            return "4D";
-        case 0x4E:
-            return "4E";
-        case 0x4F:
-            return "4F";
-        case 0x50:
-            return "50";
-        case 0x51:
-            return "51";
-        case 0x52:
-            return "52";
-        case 0x53:
-            return "53";
-        case 0x54:
-            return "54";
-        case 0x55:
-            return "55";
-        case 0x56:
-            return "56";
-        case 0x57:
-            return "57";
-        case 0x58:
-            return "58";
-        case 0x59:
-            return "59";
-        case 0x5A:
-            return "5A";
-        case 0x5B:
-            return "5B";
-        case 0x5C:
-            return "5C";
-        case 0x5D:
-            return "5D";
-        case 0x5E:
-            return "5E";
-        case 0x5F:
-            return "5F";
-        case 0x60:
-            return "60";
-        case 0x61:
-            return "61";
-        case 0x62:
-            return "62";
-        case 0x63:
-            return "63";
-        case 0x64:
-            return "64";
-        case 0x65:
-            return "65";
-        case 0x66:
-            return "66";
-        case 0x67:
-            return "67";
-        case 0x68:
-            return "68";
-        case 0x69:
-            return "69";
-        case 0x6A:
-            return "6A";
-        case 0x6B:
-            return "6B";
-        case 0x6C:
-            return "6C";
-        case 0x6D:
-            return "6D";
-        case 0x6E:
-            return "6E";
-        case 0x6F:
-            return "6F";
-        case 0x70:
-            return "70";
-        case 0x71:
-            return "71";
-        case 0x72:
-            return "72";
-        case 0x73:
-            return "73";
-        case 0x74:
-            return "74";
-        case 0x75:
-            return "75";
-        case 0x76:
-            return "76";
-        case 0x77:
-            return "77";
-        case 0x78:
-            return "78";
-        case 0x79:
-            return "79";
-        case 0x7A:
-            return "7A";
-        case 0x7B:
-            return "7B";
-        case 0x7C:
-            return "7C";
-        case 0x7D:
-            return "7D";
-        case 0x7E:
-            return "7E";
-        case 0x7F:
-            return "7F";
-        case 0x80:
-            return "80";
-        case 0x81:
-            return "81";
-        case 0x82:
-            return "82";
-        case 0x83:
-            return "83";
-        case 0x84:
-            return "84";
-        case 0x85:
-            return "85";
-        case 0x86:
-            return "86";
-        case 0x87:
-            return "87";
-        case 0x88:
-            return "88";
-        case 0x89:
-            return "89";
-        case 0x8A:
-            return "8A";
-        case 0x8B:
-            return "8B";
-        case 0x8C:
-            return "8C";
-        case 0x8D:
-            return "8D";
-        case 0x8E:
-            return "8E";
-        case 0x8F:
-            return "8F";
-        case 0x90:
-            return "90";
-        case 0x91:
-            return "91";
-        case 0x92:
-            return "92";
-        case 0x93:
-            return "93";
-        case 0x94:
-            return "94";
-        case 0x95:
-            return "95";
-        case 0x96:
-            return "96";
-        case 0x97:
-            return "97";
-        case 0x98:
-            return "98";
-        case 0x99:
-            return "99";
-        case 0x9A:
-            return "9A";
-        case 0x9B:
-            return "9B";
-        case 0x9C:
-            return "9C";
-        case 0x9D:
-            return "9D";
-        case 0x9E:
-            return "9E";
-        case 0x9F:
-            return "9F";
-        case 0xA0:
-            return "A0";
-        case 0xA1:
-            return "A1";
-        case 0xA2:
-            return "A2";
-        case 0xA3:
-            return "A3";
-        case 0xA4:
-            return "A4";
-        case 0xA5:
-            return "A5";
-        case 0xA6:
-            return "A6";
-        case 0xA7:
-            return "A7";
-        case 0xA8:
-            return "A8";
-        case 0xA9:
-            return "A9";
-        case 0xAA:
-            return "AA";
-        case 0xAB:
-            return "AB";
-        case 0xAC:
-            return "AC";
-        case 0xAD:
-            return "AD";
-        case 0xAE:
-            return "AE";
-        case 0xAF:
-            return "AF";
-        case 0xB0:
-            return "B0";
-        case 0xB1:
-            return "B1";
-        case 0xB2:
-            return "B2";
-        case 0xB3:
-            return "B3";
-        case 0xB4:
-            return "B4";
-        case 0xB5:
-            return "B5";
-        case 0xB6:
-            return "B6";
-        case 0xB7:
-            return "B7";
-        case 0xB8:
-            return "B8";
-        case 0xB9:
-            return "B9";
-        case 0xBA:
-            return "BA";
-        case 0xBB:
-            return "BB";
-        case 0xBC:
-            return "BC";
-        case 0xBD:
-            return "BD";
-        case 0xBE:
-            return "BE";
-        case 0xBF:
-            return "BF";
-        case 0xC0:
-            return "C0";
-        case 0xC1:
-            return "C1";
-        case 0xC2:
-            return "C2";
-        case 0xC3:
-            return "C3";
-        case 0xC4:
-            return "C4";
-        case 0xC5:
-            return "C5";
-        case 0xC6:
-            return "C6";
-        case 0xC7:
-            return "C7";
-        case 0xC8:
-            return "C8";
-        case 0xC9:
-            return "C9";
-        case 0xCA:
-            return "CA";
-        case 0xCB:
-            return "CB";
-        case 0xCC:
-            return "CC";
-        case 0xCD:
-            return "CD";
-        case 0xCE:
-            return "CE";
-        case 0xCF:
-            return "CF";
-        case 0xD0:
-            return "D0";
-        case 0xD1:
-            return "D1";
-        case 0xD2:
-            return "D2";
-        case 0xD3:
-            return "D3";
-        case 0xD4:
-            return "D4";
-        case 0xD5:
-            return "D5";
-        case 0xD6:
-            return "D6";
-        case 0xD7:
-            return "D7";
-        case 0xD8:
-            return "D8";
-        case 0xD9:
-            return "D9";
-        case 0xDA:
-            return "DA";
-        case 0xDB:
-            return "DB";
-        case 0xDC:
-            return "DC";
-        case 0xDD:
-            return "DD";
-        case 0xDE:
-            return "DE";
-        case 0xDF:
-            return "DF";
-        case 0xE0:
-            return "E0";
-        case 0xE1:
-            return "E1";
-        case 0xE2:
-            return "E2";
-        case 0xE3:
-            return "E3";
-        case 0xE4:
-            return "E4";
-        case 0xE5:
-            return "E5";
-        case 0xE6:
-            return "E6";
-        case 0xE7:
-            return "E7";
-        case 0xE8:
-            return "E8";
-        case 0xE9:
-            return "E9";
-        case 0xEA:
-            return "EA";
-        case 0xEB:
-            return "EB";
-        case 0xEC:
-            return "EC";
-        case 0xED:
-            return "ED";
-        case 0xEE:
-            return "EE";
-        case 0xEF:
-            return "EF";
-        case 0xF0:
-            return "F0";
-        case 0xF1:
-            return "F1";
-        case 0xF2:
-            return "F2";
-        case 0xF3:
-            return "F3";
-        case 0xF4:
-            return "F4";
-        case 0xF5:
-            return "F5";
-        case 0xF6:
-            return "F6";
-        case 0xF7:
-            return "F7";
-        case 0xF8:
-            return "F8";
-        case 0xF9:
-            return "F9";
-        case 0xFA:
-            return "FA";
-        case 0xFB:
-            return "FB";
-        case 0xFC:
-            return "FC";
-        case 0xFD:
-            return "FD";
-        case 0xFE:
-            return "FE";
-        case 0xFF:
-            return "FF";
-        default:
-            return "??";
-        }
+        return BYTE_HEX_STRINGS[UPPER_CASE][b & 0xFF];
     }
 
     /**
@@ -653,522 +150,7 @@
      *         using lowercase characters.
      */
     public static String byteToLowerHex(final byte b) {
-        switch (b & 0xFF) {
-        case 0x00:
-            return "00";
-        case 0x01:
-            return "01";
-        case 0x02:
-            return "02";
-        case 0x03:
-            return "03";
-        case 0x04:
-            return "04";
-        case 0x05:
-            return "05";
-        case 0x06:
-            return "06";
-        case 0x07:
-            return "07";
-        case 0x08:
-            return "08";
-        case 0x09:
-            return "09";
-        case 0x0A:
-            return "0a";
-        case 0x0B:
-            return "0b";
-        case 0x0C:
-            return "0c";
-        case 0x0D:
-            return "0d";
-        case 0x0E:
-            return "0e";
-        case 0x0F:
-            return "0f";
-        case 0x10:
-            return "10";
-        case 0x11:
-            return "11";
-        case 0x12:
-            return "12";
-        case 0x13:
-            return "13";
-        case 0x14:
-            return "14";
-        case 0x15:
-            return "15";
-        case 0x16:
-            return "16";
-        case 0x17:
-            return "17";
-        case 0x18:
-            return "18";
-        case 0x19:
-            return "19";
-        case 0x1A:
-            return "1a";
-        case 0x1B:
-            return "1b";
-        case 0x1C:
-            return "1c";
-        case 0x1D:
-            return "1d";
-        case 0x1E:
-            return "1e";
-        case 0x1F:
-            return "1f";
-        case 0x20:
-            return "20";
-        case 0x21:
-            return "21";
-        case 0x22:
-            return "22";
-        case 0x23:
-            return "23";
-        case 0x24:
-            return "24";
-        case 0x25:
-            return "25";
-        case 0x26:
-            return "26";
-        case 0x27:
-            return "27";
-        case 0x28:
-            return "28";
-        case 0x29:
-            return "29";
-        case 0x2A:
-            return "2a";
-        case 0x2B:
-            return "2b";
-        case 0x2C:
-            return "2c";
-        case 0x2D:
-            return "2d";
-        case 0x2E:
-            return "2e";
-        case 0x2F:
-            return "2f";
-        case 0x30:
-            return "30";
-        case 0x31:
-            return "31";
-        case 0x32:
-            return "32";
-        case 0x33:
-            return "33";
-        case 0x34:
-            return "34";
-        case 0x35:
-            return "35";
-        case 0x36:
-            return "36";
-        case 0x37:
-            return "37";
-        case 0x38:
-            return "38";
-        case 0x39:
-            return "39";
-        case 0x3A:
-            return "3a";
-        case 0x3B:
-            return "3b";
-        case 0x3C:
-            return "3c";
-        case 0x3D:
-            return "3d";
-        case 0x3E:
-            return "3e";
-        case 0x3F:
-            return "3f";
-        case 0x40:
-            return "40";
-        case 0x41:
-            return "41";
-        case 0x42:
-            return "42";
-        case 0x43:
-            return "43";
-        case 0x44:
-            return "44";
-        case 0x45:
-            return "45";
-        case 0x46:
-            return "46";
-        case 0x47:
-            return "47";
-        case 0x48:
-            return "48";
-        case 0x49:
-            return "49";
-        case 0x4A:
-            return "4a";
-        case 0x4B:
-            return "4b";
-        case 0x4C:
-            return "4c";
-        case 0x4D:
-            return "4d";
-        case 0x4E:
-            return "4e";
-        case 0x4F:
-            return "4f";
-        case 0x50:
-            return "50";
-        case 0x51:
-            return "51";
-        case 0x52:
-            return "52";
-        case 0x53:
-            return "53";
-        case 0x54:
-            return "54";
-        case 0x55:
-            return "55";
-        case 0x56:
-            return "56";
-        case 0x57:
-            return "57";
-        case 0x58:
-            return "58";
-        case 0x59:
-            return "59";
-        case 0x5A:
-            return "5a";
-        case 0x5B:
-            return "5b";
-        case 0x5C:
-            return "5c";
-        case 0x5D:
-            return "5d";
-        case 0x5E:
-            return "5e";
-        case 0x5F:
-            return "5f";
-        case 0x60:
-            return "60";
-        case 0x61:
-            return "61";
-        case 0x62:
-            return "62";
-        case 0x63:
-            return "63";
-        case 0x64:
-            return "64";
-        case 0x65:
-            return "65";
-        case 0x66:
-            return "66";
-        case 0x67:
-            return "67";
-        case 0x68:
-            return "68";
-        case 0x69:
-            return "69";
-        case 0x6A:
-            return "6a";
-        case 0x6B:
-            return "6b";
-        case 0x6C:
-            return "6c";
-        case 0x6D:
-            return "6d";
-        case 0x6E:
-            return "6e";
-        case 0x6F:
-            return "6f";
-        case 0x70:
-            return "70";
-        case 0x71:
-            return "71";
-        case 0x72:
-            return "72";
-        case 0x73:
-            return "73";
-        case 0x74:
-            return "74";
-        case 0x75:
-            return "75";
-        case 0x76:
-            return "76";
-        case 0x77:
-            return "77";
-        case 0x78:
-            return "78";
-        case 0x79:
-            return "79";
-        case 0x7A:
-            return "7a";
-        case 0x7B:
-            return "7b";
-        case 0x7C:
-            return "7c";
-        case 0x7D:
-            return "7d";
-        case 0x7E:
-            return "7e";
-        case 0x7F:
-            return "7f";
-        case 0x80:
-            return "80";
-        case 0x81:
-            return "81";
-        case 0x82:
-            return "82";
-        case 0x83:
-            return "83";
-        case 0x84:
-            return "84";
-        case 0x85:
-            return "85";
-        case 0x86:
-            return "86";
-        case 0x87:
-            return "87";
-        case 0x88:
-            return "88";
-        case 0x89:
-            return "89";
-        case 0x8A:
-            return "8a";
-        case 0x8B:
-            return "8b";
-        case 0x8C:
-            return "8c";
-        case 0x8D:
-            return "8d";
-        case 0x8E:
-            return "8e";
-        case 0x8F:
-            return "8f";
-        case 0x90:
-            return "90";
-        case 0x91:
-            return "91";
-        case 0x92:
-            return "92";
-        case 0x93:
-            return "93";
-        case 0x94:
-            return "94";
-        case 0x95:
-            return "95";
-        case 0x96:
-            return "96";
-        case 0x97:
-            return "97";
-        case 0x98:
-            return "98";
-        case 0x99:
-            return "99";
-        case 0x9A:
-            return "9a";
-        case 0x9B:
-            return "9b";
-        case 0x9C:
-            return "9c";
-        case 0x9D:
-            return "9d";
-        case 0x9E:
-            return "9e";
-        case 0x9F:
-            return "9f";
-        case 0xA0:
-            return "a0";
-        case 0xA1:
-            return "a1";
-        case 0xA2:
-            return "a2";
-        case 0xA3:
-            return "a3";
-        case 0xA4:
-            return "a4";
-        case 0xA5:
-            return "a5";
-        case 0xA6:
-            return "a6";
-        case 0xA7:
-            return "a7";
-        case 0xA8:
-            return "a8";
-        case 0xA9:
-            return "a9";
-        case 0xAA:
-            return "aa";
-        case 0xAB:
-            return "ab";
-        case 0xAC:
-            return "ac";
-        case 0xAD:
-            return "ad";
-        case 0xAE:
-            return "ae";
-        case 0xAF:
-            return "af";
-        case 0xB0:
-            return "b0";
-        case 0xB1:
-            return "b1";
-        case 0xB2:
-            return "b2";
-        case 0xB3:
-            return "b3";
-        case 0xB4:
-            return "b4";
-        case 0xB5:
-            return "b5";
-        case 0xB6:
-            return "b6";
-        case 0xB7:
-            return "b7";
-        case 0xB8:
-            return "b8";
-        case 0xB9:
-            return "b9";
-        case 0xBA:
-            return "ba";
-        case 0xBB:
-            return "bb";
-        case 0xBC:
-            return "bc";
-        case 0xBD:
-            return "bd";
-        case 0xBE:
-            return "be";
-        case 0xBF:
-            return "bf";
-        case 0xC0:
-            return "c0";
-        case 0xC1:
-            return "c1";
-        case 0xC2:
-            return "c2";
-        case 0xC3:
-            return "c3";
-        case 0xC4:
-            return "c4";
-        case 0xC5:
-            return "c5";
-        case 0xC6:
-            return "c6";
-        case 0xC7:
-            return "c7";
-        case 0xC8:
-            return "c8";
-        case 0xC9:
-            return "c9";
-        case 0xCA:
-            return "ca";
-        case 0xCB:
-            return "cb";
-        case 0xCC:
-            return "cc";
-        case 0xCD:
-            return "cd";
-        case 0xCE:
-            return "ce";
-        case 0xCF:
-            return "cf";
-        case 0xD0:
-            return "d0";
-        case 0xD1:
-            return "d1";
-        case 0xD2:
-            return "d2";
-        case 0xD3:
-            return "d3";
-        case 0xD4:
-            return "d4";
-        case 0xD5:
-            return "d5";
-        case 0xD6:
-            return "d6";
-        case 0xD7:
-            return "d7";
-        case 0xD8:
-            return "d8";
-        case 0xD9:
-            return "d9";
-        case 0xDA:
-            return "da";
-        case 0xDB:
-            return "db";
-        case 0xDC:
-            return "dc";
-        case 0xDD:
-            return "dd";
-        case 0xDE:
-            return "de";
-        case 0xDF:
-            return "df";
-        case 0xE0:
-            return "e0";
-        case 0xE1:
-            return "e1";
-        case 0xE2:
-            return "e2";
-        case 0xE3:
-            return "e3";
-        case 0xE4:
-            return "e4";
-        case 0xE5:
-            return "e5";
-        case 0xE6:
-            return "e6";
-        case 0xE7:
-            return "e7";
-        case 0xE8:
-            return "e8";
-        case 0xE9:
-            return "e9";
-        case 0xEA:
-            return "ea";
-        case 0xEB:
-            return "eb";
-        case 0xEC:
-            return "ec";
-        case 0xED:
-            return "ed";
-        case 0xEE:
-            return "ee";
-        case 0xEF:
-            return "ef";
-        case 0xF0:
-            return "f0";
-        case 0xF1:
-            return "f1";
-        case 0xF2:
-            return "f2";
-        case 0xF3:
-            return "f3";
-        case 0xF4:
-            return "f4";
-        case 0xF5:
-            return "f5";
-        case 0xF6:
-            return "f6";
-        case 0xF7:
-            return "f7";
-        case 0xF8:
-            return "f8";
-        case 0xF9:
-            return "f9";
-        case 0xFA:
-            return "fa";
-        case 0xFB:
-            return "fb";
-        case 0xFC:
-            return "fc";
-        case 0xFD:
-            return "fd";
-        case 0xFE:
-            return "fe";
-        case 0xFF:
-            return "ff";
-        default:
-            return "??";
-        }
+        return BYTE_HEX_STRINGS[LOWER_CASE][b & 0xFF];
     }
 
     /**
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/util/StaticUtils.java b/opendj-server-legacy/src/main/java/org/opends/server/util/StaticUtils.java
index 9878dad..8e83073 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/util/StaticUtils.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/util/StaticUtils.java
@@ -102,12 +102,28 @@
    */
   public static final int MB = KB * KB;
 
+  private static final String[][] BYTE_HEX_STRINGS = new String[2][256];
+  private static final String[] BYTE_BIN_STRINGS = new String[256];
+  private static final int UPPER_CASE = 0;
+  private static final int LOWER_CASE = 1;
+
   /** Private constructor to prevent instantiation. */
   private StaticUtils() {
     // No implementation required.
   }
 
-
+  static {
+    String[] hexDigits = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"};
+    for (int i = 0; i < 256; i++) {
+      BYTE_HEX_STRINGS[UPPER_CASE][i] = hexDigits[i >>> 4] + hexDigits[i & 0xF];
+      BYTE_HEX_STRINGS[LOWER_CASE][i] = BYTE_HEX_STRINGS[UPPER_CASE][i].toLowerCase();
+      StringBuilder sb = new StringBuilder();
+      for (int j = 7; j >= 0; j--) {
+        sb.append((i & (1 << j)) == 0 ? "0" : "1");
+      }
+      BYTE_BIN_STRINGS[i] = sb.toString();
+    }
+  }
 
   /**
    * Construct a byte array containing the UTF-8 encoding of the
@@ -243,266 +259,7 @@
    */
   public static String byteToHex(byte b)
   {
-    switch (b & 0xFF)
-    {
-      case 0x00:  return "00";
-      case 0x01:  return "01";
-      case 0x02:  return "02";
-      case 0x03:  return "03";
-      case 0x04:  return "04";
-      case 0x05:  return "05";
-      case 0x06:  return "06";
-      case 0x07:  return "07";
-      case 0x08:  return "08";
-      case 0x09:  return "09";
-      case 0x0A:  return "0A";
-      case 0x0B:  return "0B";
-      case 0x0C:  return "0C";
-      case 0x0D:  return "0D";
-      case 0x0E:  return "0E";
-      case 0x0F:  return "0F";
-      case 0x10:  return "10";
-      case 0x11:  return "11";
-      case 0x12:  return "12";
-      case 0x13:  return "13";
-      case 0x14:  return "14";
-      case 0x15:  return "15";
-      case 0x16:  return "16";
-      case 0x17:  return "17";
-      case 0x18:  return "18";
-      case 0x19:  return "19";
-      case 0x1A:  return "1A";
-      case 0x1B:  return "1B";
-      case 0x1C:  return "1C";
-      case 0x1D:  return "1D";
-      case 0x1E:  return "1E";
-      case 0x1F:  return "1F";
-      case 0x20:  return "20";
-      case 0x21:  return "21";
-      case 0x22:  return "22";
-      case 0x23:  return "23";
-      case 0x24:  return "24";
-      case 0x25:  return "25";
-      case 0x26:  return "26";
-      case 0x27:  return "27";
-      case 0x28:  return "28";
-      case 0x29:  return "29";
-      case 0x2A:  return "2A";
-      case 0x2B:  return "2B";
-      case 0x2C:  return "2C";
-      case 0x2D:  return "2D";
-      case 0x2E:  return "2E";
-      case 0x2F:  return "2F";
-      case 0x30:  return "30";
-      case 0x31:  return "31";
-      case 0x32:  return "32";
-      case 0x33:  return "33";
-      case 0x34:  return "34";
-      case 0x35:  return "35";
-      case 0x36:  return "36";
-      case 0x37:  return "37";
-      case 0x38:  return "38";
-      case 0x39:  return "39";
-      case 0x3A:  return "3A";
-      case 0x3B:  return "3B";
-      case 0x3C:  return "3C";
-      case 0x3D:  return "3D";
-      case 0x3E:  return "3E";
-      case 0x3F:  return "3F";
-      case 0x40:  return "40";
-      case 0x41:  return "41";
-      case 0x42:  return "42";
-      case 0x43:  return "43";
-      case 0x44:  return "44";
-      case 0x45:  return "45";
-      case 0x46:  return "46";
-      case 0x47:  return "47";
-      case 0x48:  return "48";
-      case 0x49:  return "49";
-      case 0x4A:  return "4A";
-      case 0x4B:  return "4B";
-      case 0x4C:  return "4C";
-      case 0x4D:  return "4D";
-      case 0x4E:  return "4E";
-      case 0x4F:  return "4F";
-      case 0x50:  return "50";
-      case 0x51:  return "51";
-      case 0x52:  return "52";
-      case 0x53:  return "53";
-      case 0x54:  return "54";
-      case 0x55:  return "55";
-      case 0x56:  return "56";
-      case 0x57:  return "57";
-      case 0x58:  return "58";
-      case 0x59:  return "59";
-      case 0x5A:  return "5A";
-      case 0x5B:  return "5B";
-      case 0x5C:  return "5C";
-      case 0x5D:  return "5D";
-      case 0x5E:  return "5E";
-      case 0x5F:  return "5F";
-      case 0x60:  return "60";
-      case 0x61:  return "61";
-      case 0x62:  return "62";
-      case 0x63:  return "63";
-      case 0x64:  return "64";
-      case 0x65:  return "65";
-      case 0x66:  return "66";
-      case 0x67:  return "67";
-      case 0x68:  return "68";
-      case 0x69:  return "69";
-      case 0x6A:  return "6A";
-      case 0x6B:  return "6B";
-      case 0x6C:  return "6C";
-      case 0x6D:  return "6D";
-      case 0x6E:  return "6E";
-      case 0x6F:  return "6F";
-      case 0x70:  return "70";
-      case 0x71:  return "71";
-      case 0x72:  return "72";
-      case 0x73:  return "73";
-      case 0x74:  return "74";
-      case 0x75:  return "75";
-      case 0x76:  return "76";
-      case 0x77:  return "77";
-      case 0x78:  return "78";
-      case 0x79:  return "79";
-      case 0x7A:  return "7A";
-      case 0x7B:  return "7B";
-      case 0x7C:  return "7C";
-      case 0x7D:  return "7D";
-      case 0x7E:  return "7E";
-      case 0x7F:  return "7F";
-      case 0x80:  return "80";
-      case 0x81:  return "81";
-      case 0x82:  return "82";
-      case 0x83:  return "83";
-      case 0x84:  return "84";
-      case 0x85:  return "85";
-      case 0x86:  return "86";
-      case 0x87:  return "87";
-      case 0x88:  return "88";
-      case 0x89:  return "89";
-      case 0x8A:  return "8A";
-      case 0x8B:  return "8B";
-      case 0x8C:  return "8C";
-      case 0x8D:  return "8D";
-      case 0x8E:  return "8E";
-      case 0x8F:  return "8F";
-      case 0x90:  return "90";
-      case 0x91:  return "91";
-      case 0x92:  return "92";
-      case 0x93:  return "93";
-      case 0x94:  return "94";
-      case 0x95:  return "95";
-      case 0x96:  return "96";
-      case 0x97:  return "97";
-      case 0x98:  return "98";
-      case 0x99:  return "99";
-      case 0x9A:  return "9A";
-      case 0x9B:  return "9B";
-      case 0x9C:  return "9C";
-      case 0x9D:  return "9D";
-      case 0x9E:  return "9E";
-      case 0x9F:  return "9F";
-      case 0xA0:  return "A0";
-      case 0xA1:  return "A1";
-      case 0xA2:  return "A2";
-      case 0xA3:  return "A3";
-      case 0xA4:  return "A4";
-      case 0xA5:  return "A5";
-      case 0xA6:  return "A6";
-      case 0xA7:  return "A7";
-      case 0xA8:  return "A8";
-      case 0xA9:  return "A9";
-      case 0xAA:  return "AA";
-      case 0xAB:  return "AB";
-      case 0xAC:  return "AC";
-      case 0xAD:  return "AD";
-      case 0xAE:  return "AE";
-      case 0xAF:  return "AF";
-      case 0xB0:  return "B0";
-      case 0xB1:  return "B1";
-      case 0xB2:  return "B2";
-      case 0xB3:  return "B3";
-      case 0xB4:  return "B4";
-      case 0xB5:  return "B5";
-      case 0xB6:  return "B6";
-      case 0xB7:  return "B7";
-      case 0xB8:  return "B8";
-      case 0xB9:  return "B9";
-      case 0xBA:  return "BA";
-      case 0xBB:  return "BB";
-      case 0xBC:  return "BC";
-      case 0xBD:  return "BD";
-      case 0xBE:  return "BE";
-      case 0xBF:  return "BF";
-      case 0xC0:  return "C0";
-      case 0xC1:  return "C1";
-      case 0xC2:  return "C2";
-      case 0xC3:  return "C3";
-      case 0xC4:  return "C4";
-      case 0xC5:  return "C5";
-      case 0xC6:  return "C6";
-      case 0xC7:  return "C7";
-      case 0xC8:  return "C8";
-      case 0xC9:  return "C9";
-      case 0xCA:  return "CA";
-      case 0xCB:  return "CB";
-      case 0xCC:  return "CC";
-      case 0xCD:  return "CD";
-      case 0xCE:  return "CE";
-      case 0xCF:  return "CF";
-      case 0xD0:  return "D0";
-      case 0xD1:  return "D1";
-      case 0xD2:  return "D2";
-      case 0xD3:  return "D3";
-      case 0xD4:  return "D4";
-      case 0xD5:  return "D5";
-      case 0xD6:  return "D6";
-      case 0xD7:  return "D7";
-      case 0xD8:  return "D8";
-      case 0xD9:  return "D9";
-      case 0xDA:  return "DA";
-      case 0xDB:  return "DB";
-      case 0xDC:  return "DC";
-      case 0xDD:  return "DD";
-      case 0xDE:  return "DE";
-      case 0xDF:  return "DF";
-      case 0xE0:  return "E0";
-      case 0xE1:  return "E1";
-      case 0xE2:  return "E2";
-      case 0xE3:  return "E3";
-      case 0xE4:  return "E4";
-      case 0xE5:  return "E5";
-      case 0xE6:  return "E6";
-      case 0xE7:  return "E7";
-      case 0xE8:  return "E8";
-      case 0xE9:  return "E9";
-      case 0xEA:  return "EA";
-      case 0xEB:  return "EB";
-      case 0xEC:  return "EC";
-      case 0xED:  return "ED";
-      case 0xEE:  return "EE";
-      case 0xEF:  return "EF";
-      case 0xF0:  return "F0";
-      case 0xF1:  return "F1";
-      case 0xF2:  return "F2";
-      case 0xF3:  return "F3";
-      case 0xF4:  return "F4";
-      case 0xF5:  return "F5";
-      case 0xF6:  return "F6";
-      case 0xF7:  return "F7";
-      case 0xF8:  return "F8";
-      case 0xF9:  return "F9";
-      case 0xFA:  return "FA";
-      case 0xFB:  return "FB";
-      case 0xFC:  return "FC";
-      case 0xFD:  return "FD";
-      case 0xFE:  return "FE";
-      case 0xFF:  return "FF";
-      default:    return "??";
-    }
+    return BYTE_HEX_STRINGS[UPPER_CASE][b & 0xFF];
   }
 
 
@@ -518,266 +275,7 @@
    */
   public static String byteToLowerHex(byte b)
   {
-    switch (b & 0xFF)
-    {
-      case 0x00:  return "00";
-      case 0x01:  return "01";
-      case 0x02:  return "02";
-      case 0x03:  return "03";
-      case 0x04:  return "04";
-      case 0x05:  return "05";
-      case 0x06:  return "06";
-      case 0x07:  return "07";
-      case 0x08:  return "08";
-      case 0x09:  return "09";
-      case 0x0A:  return "0a";
-      case 0x0B:  return "0b";
-      case 0x0C:  return "0c";
-      case 0x0D:  return "0d";
-      case 0x0E:  return "0e";
-      case 0x0F:  return "0f";
-      case 0x10:  return "10";
-      case 0x11:  return "11";
-      case 0x12:  return "12";
-      case 0x13:  return "13";
-      case 0x14:  return "14";
-      case 0x15:  return "15";
-      case 0x16:  return "16";
-      case 0x17:  return "17";
-      case 0x18:  return "18";
-      case 0x19:  return "19";
-      case 0x1A:  return "1a";
-      case 0x1B:  return "1b";
-      case 0x1C:  return "1c";
-      case 0x1D:  return "1d";
-      case 0x1E:  return "1e";
-      case 0x1F:  return "1f";
-      case 0x20:  return "20";
-      case 0x21:  return "21";
-      case 0x22:  return "22";
-      case 0x23:  return "23";
-      case 0x24:  return "24";
-      case 0x25:  return "25";
-      case 0x26:  return "26";
-      case 0x27:  return "27";
-      case 0x28:  return "28";
-      case 0x29:  return "29";
-      case 0x2A:  return "2a";
-      case 0x2B:  return "2b";
-      case 0x2C:  return "2c";
-      case 0x2D:  return "2d";
-      case 0x2E:  return "2e";
-      case 0x2F:  return "2f";
-      case 0x30:  return "30";
-      case 0x31:  return "31";
-      case 0x32:  return "32";
-      case 0x33:  return "33";
-      case 0x34:  return "34";
-      case 0x35:  return "35";
-      case 0x36:  return "36";
-      case 0x37:  return "37";
-      case 0x38:  return "38";
-      case 0x39:  return "39";
-      case 0x3A:  return "3a";
-      case 0x3B:  return "3b";
-      case 0x3C:  return "3c";
-      case 0x3D:  return "3d";
-      case 0x3E:  return "3e";
-      case 0x3F:  return "3f";
-      case 0x40:  return "40";
-      case 0x41:  return "41";
-      case 0x42:  return "42";
-      case 0x43:  return "43";
-      case 0x44:  return "44";
-      case 0x45:  return "45";
-      case 0x46:  return "46";
-      case 0x47:  return "47";
-      case 0x48:  return "48";
-      case 0x49:  return "49";
-      case 0x4A:  return "4a";
-      case 0x4B:  return "4b";
-      case 0x4C:  return "4c";
-      case 0x4D:  return "4d";
-      case 0x4E:  return "4e";
-      case 0x4F:  return "4f";
-      case 0x50:  return "50";
-      case 0x51:  return "51";
-      case 0x52:  return "52";
-      case 0x53:  return "53";
-      case 0x54:  return "54";
-      case 0x55:  return "55";
-      case 0x56:  return "56";
-      case 0x57:  return "57";
-      case 0x58:  return "58";
-      case 0x59:  return "59";
-      case 0x5A:  return "5a";
-      case 0x5B:  return "5b";
-      case 0x5C:  return "5c";
-      case 0x5D:  return "5d";
-      case 0x5E:  return "5e";
-      case 0x5F:  return "5f";
-      case 0x60:  return "60";
-      case 0x61:  return "61";
-      case 0x62:  return "62";
-      case 0x63:  return "63";
-      case 0x64:  return "64";
-      case 0x65:  return "65";
-      case 0x66:  return "66";
-      case 0x67:  return "67";
-      case 0x68:  return "68";
-      case 0x69:  return "69";
-      case 0x6A:  return "6a";
-      case 0x6B:  return "6b";
-      case 0x6C:  return "6c";
-      case 0x6D:  return "6d";
-      case 0x6E:  return "6e";
-      case 0x6F:  return "6f";
-      case 0x70:  return "70";
-      case 0x71:  return "71";
-      case 0x72:  return "72";
-      case 0x73:  return "73";
-      case 0x74:  return "74";
-      case 0x75:  return "75";
-      case 0x76:  return "76";
-      case 0x77:  return "77";
-      case 0x78:  return "78";
-      case 0x79:  return "79";
-      case 0x7A:  return "7a";
-      case 0x7B:  return "7b";
-      case 0x7C:  return "7c";
-      case 0x7D:  return "7d";
-      case 0x7E:  return "7e";
-      case 0x7F:  return "7f";
-      case 0x80:  return "80";
-      case 0x81:  return "81";
-      case 0x82:  return "82";
-      case 0x83:  return "83";
-      case 0x84:  return "84";
-      case 0x85:  return "85";
-      case 0x86:  return "86";
-      case 0x87:  return "87";
-      case 0x88:  return "88";
-      case 0x89:  return "89";
-      case 0x8A:  return "8a";
-      case 0x8B:  return "8b";
-      case 0x8C:  return "8c";
-      case 0x8D:  return "8d";
-      case 0x8E:  return "8e";
-      case 0x8F:  return "8f";
-      case 0x90:  return "90";
-      case 0x91:  return "91";
-      case 0x92:  return "92";
-      case 0x93:  return "93";
-      case 0x94:  return "94";
-      case 0x95:  return "95";
-      case 0x96:  return "96";
-      case 0x97:  return "97";
-      case 0x98:  return "98";
-      case 0x99:  return "99";
-      case 0x9A:  return "9a";
-      case 0x9B:  return "9b";
-      case 0x9C:  return "9c";
-      case 0x9D:  return "9d";
-      case 0x9E:  return "9e";
-      case 0x9F:  return "9f";
-      case 0xA0:  return "a0";
-      case 0xA1:  return "a1";
-      case 0xA2:  return "a2";
-      case 0xA3:  return "a3";
-      case 0xA4:  return "a4";
-      case 0xA5:  return "a5";
-      case 0xA6:  return "a6";
-      case 0xA7:  return "a7";
-      case 0xA8:  return "a8";
-      case 0xA9:  return "a9";
-      case 0xAA:  return "aa";
-      case 0xAB:  return "ab";
-      case 0xAC:  return "ac";
-      case 0xAD:  return "ad";
-      case 0xAE:  return "ae";
-      case 0xAF:  return "af";
-      case 0xB0:  return "b0";
-      case 0xB1:  return "b1";
-      case 0xB2:  return "b2";
-      case 0xB3:  return "b3";
-      case 0xB4:  return "b4";
-      case 0xB5:  return "b5";
-      case 0xB6:  return "b6";
-      case 0xB7:  return "b7";
-      case 0xB8:  return "b8";
-      case 0xB9:  return "b9";
-      case 0xBA:  return "ba";
-      case 0xBB:  return "bb";
-      case 0xBC:  return "bc";
-      case 0xBD:  return "bd";
-      case 0xBE:  return "be";
-      case 0xBF:  return "bf";
-      case 0xC0:  return "c0";
-      case 0xC1:  return "c1";
-      case 0xC2:  return "c2";
-      case 0xC3:  return "c3";
-      case 0xC4:  return "c4";
-      case 0xC5:  return "c5";
-      case 0xC6:  return "c6";
-      case 0xC7:  return "c7";
-      case 0xC8:  return "c8";
-      case 0xC9:  return "c9";
-      case 0xCA:  return "ca";
-      case 0xCB:  return "cb";
-      case 0xCC:  return "cc";
-      case 0xCD:  return "cd";
-      case 0xCE:  return "ce";
-      case 0xCF:  return "cf";
-      case 0xD0:  return "d0";
-      case 0xD1:  return "d1";
-      case 0xD2:  return "d2";
-      case 0xD3:  return "d3";
-      case 0xD4:  return "d4";
-      case 0xD5:  return "d5";
-      case 0xD6:  return "d6";
-      case 0xD7:  return "d7";
-      case 0xD8:  return "d8";
-      case 0xD9:  return "d9";
-      case 0xDA:  return "da";
-      case 0xDB:  return "db";
-      case 0xDC:  return "dc";
-      case 0xDD:  return "dd";
-      case 0xDE:  return "de";
-      case 0xDF:  return "df";
-      case 0xE0:  return "e0";
-      case 0xE1:  return "e1";
-      case 0xE2:  return "e2";
-      case 0xE3:  return "e3";
-      case 0xE4:  return "e4";
-      case 0xE5:  return "e5";
-      case 0xE6:  return "e6";
-      case 0xE7:  return "e7";
-      case 0xE8:  return "e8";
-      case 0xE9:  return "e9";
-      case 0xEA:  return "ea";
-      case 0xEB:  return "eb";
-      case 0xEC:  return "ec";
-      case 0xED:  return "ed";
-      case 0xEE:  return "ee";
-      case 0xEF:  return "ef";
-      case 0xF0:  return "f0";
-      case 0xF1:  return "f1";
-      case 0xF2:  return "f2";
-      case 0xF3:  return "f3";
-      case 0xF4:  return "f4";
-      case 0xF5:  return "f5";
-      case 0xF6:  return "f6";
-      case 0xF7:  return "f7";
-      case 0xF8:  return "f8";
-      case 0xF9:  return "f9";
-      case 0xFA:  return "fa";
-      case 0xFB:  return "fb";
-      case 0xFC:  return "fc";
-      case 0xFD:  return "fd";
-      case 0xFE:  return "fe";
-      case 0xFF:  return "ff";
-      default:    return "??";
-    }
+    return BYTE_HEX_STRINGS[LOWER_CASE][b & 0xFF];
   }
 
 
@@ -1171,266 +669,7 @@
    */
   public static String byteToBinary(byte b)
   {
-    switch (b & 0xFF)
-    {
-      case 0x00:  return "00000000";
-      case 0x01:  return "00000001";
-      case 0x02:  return "00000010";
-      case 0x03:  return "00000011";
-      case 0x04:  return "00000100";
-      case 0x05:  return "00000101";
-      case 0x06:  return "00000110";
-      case 0x07:  return "00000111";
-      case 0x08:  return "00001000";
-      case 0x09:  return "00001001";
-      case 0x0A:  return "00001010";
-      case 0x0B:  return "00001011";
-      case 0x0C:  return "00001100";
-      case 0x0D:  return "00001101";
-      case 0x0E:  return "00001110";
-      case 0x0F:  return "00001111";
-      case 0x10:  return "00010000";
-      case 0x11:  return "00010001";
-      case 0x12:  return "00010010";
-      case 0x13:  return "00010011";
-      case 0x14:  return "00010100";
-      case 0x15:  return "00010101";
-      case 0x16:  return "00010110";
-      case 0x17:  return "00010111";
-      case 0x18:  return "00011000";
-      case 0x19:  return "00011001";
-      case 0x1A:  return "00011010";
-      case 0x1B:  return "00011011";
-      case 0x1C:  return "00011100";
-      case 0x1D:  return "00011101";
-      case 0x1E:  return "00011110";
-      case 0x1F:  return "00011111";
-      case 0x20:  return "00100000";
-      case 0x21:  return "00100001";
-      case 0x22:  return "00100010";
-      case 0x23:  return "00100011";
-      case 0x24:  return "00100100";
-      case 0x25:  return "00100101";
-      case 0x26:  return "00100110";
-      case 0x27:  return "00100111";
-      case 0x28:  return "00101000";
-      case 0x29:  return "00101001";
-      case 0x2A:  return "00101010";
-      case 0x2B:  return "00101011";
-      case 0x2C:  return "00101100";
-      case 0x2D:  return "00101101";
-      case 0x2E:  return "00101110";
-      case 0x2F:  return "00101111";
-      case 0x30:  return "00110000";
-      case 0x31:  return "00110001";
-      case 0x32:  return "00110010";
-      case 0x33:  return "00110011";
-      case 0x34:  return "00110100";
-      case 0x35:  return "00110101";
-      case 0x36:  return "00110110";
-      case 0x37:  return "00110111";
-      case 0x38:  return "00111000";
-      case 0x39:  return "00111001";
-      case 0x3A:  return "00111010";
-      case 0x3B:  return "00111011";
-      case 0x3C:  return "00111100";
-      case 0x3D:  return "00111101";
-      case 0x3E:  return "00111110";
-      case 0x3F:  return "00111111";
-      case 0x40:  return "01000000";
-      case 0x41:  return "01000001";
-      case 0x42:  return "01000010";
-      case 0x43:  return "01000011";
-      case 0x44:  return "01000100";
-      case 0x45:  return "01000101";
-      case 0x46:  return "01000110";
-      case 0x47:  return "01000111";
-      case 0x48:  return "01001000";
-      case 0x49:  return "01001001";
-      case 0x4A:  return "01001010";
-      case 0x4B:  return "01001011";
-      case 0x4C:  return "01001100";
-      case 0x4D:  return "01001101";
-      case 0x4E:  return "01001110";
-      case 0x4F:  return "01001111";
-      case 0x50:  return "01010000";
-      case 0x51:  return "01010001";
-      case 0x52:  return "01010010";
-      case 0x53:  return "01010011";
-      case 0x54:  return "01010100";
-      case 0x55:  return "01010101";
-      case 0x56:  return "01010110";
-      case 0x57:  return "01010111";
-      case 0x58:  return "01011000";
-      case 0x59:  return "01011001";
-      case 0x5A:  return "01011010";
-      case 0x5B:  return "01011011";
-      case 0x5C:  return "01011100";
-      case 0x5D:  return "01011101";
-      case 0x5E:  return "01011110";
-      case 0x5F:  return "01011111";
-      case 0x60:  return "01100000";
-      case 0x61:  return "01100001";
-      case 0x62:  return "01100010";
-      case 0x63:  return "01100011";
-      case 0x64:  return "01100100";
-      case 0x65:  return "01100101";
-      case 0x66:  return "01100110";
-      case 0x67:  return "01100111";
-      case 0x68:  return "01101000";
-      case 0x69:  return "01101001";
-      case 0x6A:  return "01101010";
-      case 0x6B:  return "01101011";
-      case 0x6C:  return "01101100";
-      case 0x6D:  return "01101101";
-      case 0x6E:  return "01101110";
-      case 0x6F:  return "01101111";
-      case 0x70:  return "01110000";
-      case 0x71:  return "01110001";
-      case 0x72:  return "01110010";
-      case 0x73:  return "01110011";
-      case 0x74:  return "01110100";
-      case 0x75:  return "01110101";
-      case 0x76:  return "01110110";
-      case 0x77:  return "01110111";
-      case 0x78:  return "01111000";
-      case 0x79:  return "01111001";
-      case 0x7A:  return "01111010";
-      case 0x7B:  return "01111011";
-      case 0x7C:  return "01111100";
-      case 0x7D:  return "01111101";
-      case 0x7E:  return "01111110";
-      case 0x7F:  return "01111111";
-      case 0x80:  return "10000000";
-      case 0x81:  return "10000001";
-      case 0x82:  return "10000010";
-      case 0x83:  return "10000011";
-      case 0x84:  return "10000100";
-      case 0x85:  return "10000101";
-      case 0x86:  return "10000110";
-      case 0x87:  return "10000111";
-      case 0x88:  return "10001000";
-      case 0x89:  return "10001001";
-      case 0x8A:  return "10001010";
-      case 0x8B:  return "10001011";
-      case 0x8C:  return "10001100";
-      case 0x8D:  return "10001101";
-      case 0x8E:  return "10001110";
-      case 0x8F:  return "10001111";
-      case 0x90:  return "10010000";
-      case 0x91:  return "10010001";
-      case 0x92:  return "10010010";
-      case 0x93:  return "10010011";
-      case 0x94:  return "10010100";
-      case 0x95:  return "10010101";
-      case 0x96:  return "10010110";
-      case 0x97:  return "10010111";
-      case 0x98:  return "10011000";
-      case 0x99:  return "10011001";
-      case 0x9A:  return "10011010";
-      case 0x9B:  return "10011011";
-      case 0x9C:  return "10011100";
-      case 0x9D:  return "10011101";
-      case 0x9E:  return "10011110";
-      case 0x9F:  return "10011111";
-      case 0xA0:  return "10100000";
-      case 0xA1:  return "10100001";
-      case 0xA2:  return "10100010";
-      case 0xA3:  return "10100011";
-      case 0xA4:  return "10100100";
-      case 0xA5:  return "10100101";
-      case 0xA6:  return "10100110";
-      case 0xA7:  return "10100111";
-      case 0xA8:  return "10101000";
-      case 0xA9:  return "10101001";
-      case 0xAA:  return "10101010";
-      case 0xAB:  return "10101011";
-      case 0xAC:  return "10101100";
-      case 0xAD:  return "10101101";
-      case 0xAE:  return "10101110";
-      case 0xAF:  return "10101111";
-      case 0xB0:  return "10110000";
-      case 0xB1:  return "10110001";
-      case 0xB2:  return "10110010";
-      case 0xB3:  return "10110011";
-      case 0xB4:  return "10110100";
-      case 0xB5:  return "10110101";
-      case 0xB6:  return "10110110";
-      case 0xB7:  return "10110111";
-      case 0xB8:  return "10111000";
-      case 0xB9:  return "10111001";
-      case 0xBA:  return "10111010";
-      case 0xBB:  return "10111011";
-      case 0xBC:  return "10111100";
-      case 0xBD:  return "10111101";
-      case 0xBE:  return "10111110";
-      case 0xBF:  return "10111111";
-      case 0xC0:  return "11000000";
-      case 0xC1:  return "11000001";
-      case 0xC2:  return "11000010";
-      case 0xC3:  return "11000011";
-      case 0xC4:  return "11000100";
-      case 0xC5:  return "11000101";
-      case 0xC6:  return "11000110";
-      case 0xC7:  return "11000111";
-      case 0xC8:  return "11001000";
-      case 0xC9:  return "11001001";
-      case 0xCA:  return "11001010";
-      case 0xCB:  return "11001011";
-      case 0xCC:  return "11001100";
-      case 0xCD:  return "11001101";
-      case 0xCE:  return "11001110";
-      case 0xCF:  return "11001111";
-      case 0xD0:  return "11010000";
-      case 0xD1:  return "11010001";
-      case 0xD2:  return "11010010";
-      case 0xD3:  return "11010011";
-      case 0xD4:  return "11010100";
-      case 0xD5:  return "11010101";
-      case 0xD6:  return "11010110";
-      case 0xD7:  return "11010111";
-      case 0xD8:  return "11011000";
-      case 0xD9:  return "11011001";
-      case 0xDA:  return "11011010";
-      case 0xDB:  return "11011011";
-      case 0xDC:  return "11011100";
-      case 0xDD:  return "11011101";
-      case 0xDE:  return "11011110";
-      case 0xDF:  return "11011111";
-      case 0xE0:  return "11100000";
-      case 0xE1:  return "11100001";
-      case 0xE2:  return "11100010";
-      case 0xE3:  return "11100011";
-      case 0xE4:  return "11100100";
-      case 0xE5:  return "11100101";
-      case 0xE6:  return "11100110";
-      case 0xE7:  return "11100111";
-      case 0xE8:  return "11101000";
-      case 0xE9:  return "11101001";
-      case 0xEA:  return "11101010";
-      case 0xEB:  return "11101011";
-      case 0xEC:  return "11101100";
-      case 0xED:  return "11101101";
-      case 0xEE:  return "11101110";
-      case 0xEF:  return "11101111";
-      case 0xF0:  return "11110000";
-      case 0xF1:  return "11110001";
-      case 0xF2:  return "11110010";
-      case 0xF3:  return "11110011";
-      case 0xF4:  return "11110100";
-      case 0xF5:  return "11110101";
-      case 0xF6:  return "11110110";
-      case 0xF7:  return "11110111";
-      case 0xF8:  return "11111000";
-      case 0xF9:  return "11111001";
-      case 0xFA:  return "11111010";
-      case 0xFB:  return "11111011";
-      case 0xFC:  return "11111100";
-      case 0xFD:  return "11111101";
-      case 0xFE:  return "11111110";
-      case 0xFF:  return "11111111";
-      default:    return "????????";
-    }
+    return BYTE_BIN_STRINGS[b & 0xFF];
   }
 
 

--
Gitblit v1.10.0