MCPcopy Create free account
hub / github.com/diyhi/bbs / decode

Method decode

src/main/java/cms/utils/Base64.java:89–124  ·  view source on GitHub ↗
(byte[] data)

Source from the content-addressed store, hash-verified

87 }
88
89 public static String decode(byte[] data) {
90 StringBuffer sb = new StringBuffer();
91 int len = data.length;
92 int i = 0;
93 int b1, b2, b3, b4;
94 while (i < len) {
95 do {
96 b1 = base64DecodeChars[data[i++]];
97 } while (i < len && b1 == -1);
98 if (b1 == -1) break;
99
100 do {
101 b2 = base64DecodeChars
102 [data[i++]];
103 } while (i < len && b2 == -1);
104 if (b2 == -1) break;
105 sb.append((char) ((b1 << 2) | ((b2 & 0x30) >>> 4)));
106
107 do {
108 b3 = data[i++];
109 if (b3 == 61) return sb.toString();
110 b3 = base64DecodeChars[b3];
111 } while (i < len && b3 == -1);
112 if (b3 == -1) break;
113 sb.append((char) (((b2 & 0x0f) << 4) | ((b3 & 0x3c) >>> 2)));
114
115 do {
116 b4 = data[i++];
117 if (b4 == 61) return sb.toString();
118 b4 = base64DecodeChars[b4];
119 } while (i < len && b4 == -1);
120 if (b4 == -1) break;
121 sb.append((char) (((b3 & 0x03) << 6) | b4));
122 }
123 return sb.toString();
124 }
125}

Callers 5

decryptMethod · 0.95
copyResourceDirectoryMethod · 0.45
readPathMethod · 0.45
getPageViewListMethod · 0.45
searchHelpMethod · 0.45

Calls 1

toStringMethod · 0.45

Tested by

no test coverage detected