Files
TabooLib/src/main/java/me/skymc/taboolib/string/obfuscated/CT.java
坏黑 ad1a21196f 版本更新至:3.76
调整:开发框架改为 Gradle
新增:Language2 工具新增 [book] 类型
2018-03-10 21:13:05 +08:00

50 lines
1.1 KiB
Java

package me.skymc.taboolib.string.obfuscated;
import javax.xml.bind.DatatypeConverter;
public class CT {
public static enum CodeType {
BASE64,
BINARY;
}
public static String encode(CodeType type, String string) {
switch (type) {
case BASE64: {
return DatatypeConverter.printBase64Binary(string.getBytes());
}
case BINARY: {
StringBuilder binary = new StringBuilder();
for (byte b: string.getBytes()) {
int value = b;
for (int i = 0; i < 8; i++) {
binary.append((value & 128) == 0 ? 0: 1);
value <<= 1;
}
binary.append(" ");
}
return binary.toString();
}
}
return "";
}
public static String decode(CodeType type, String string) {
switch (type) {
case BASE64: {
return new String(DatatypeConverter.parseBase64Binary(string));
}
case BINARY: {
StringBuilder text = new StringBuilder();
for (String segment: string.split(" ")) {
text.append(new Character((char) Integer.parseInt(segment, 2)).toString());
}
return text.toString();
}
}
return "";
}
}