123 lines
4.1 KiB
Java
123 lines
4.1 KiB
Java
package com.google.zxing.common;
|
|
|
|
import com.google.zxing.DecodeHintType;
|
|
import com.ubtrobot.jimu.robotapi.PeripheralType;
|
|
import java.nio.charset.Charset;
|
|
import java.util.Map;
|
|
|
|
/* loaded from: classes.dex */
|
|
public final class StringUtils {
|
|
private static final String a = Charset.defaultCharset().name();
|
|
private static final boolean b;
|
|
|
|
static {
|
|
b = "SJIS".equalsIgnoreCase(a) || "EUC_JP".equalsIgnoreCase(a);
|
|
}
|
|
|
|
public static String a(byte[] bArr, Map<DecodeHintType, ?> map) {
|
|
byte[] bArr2 = bArr;
|
|
if (map != null && map.containsKey(DecodeHintType.CHARACTER_SET)) {
|
|
return map.get(DecodeHintType.CHARACTER_SET).toString();
|
|
}
|
|
int length = bArr2.length;
|
|
int i = 0;
|
|
boolean z = bArr2.length > 3 && bArr2[0] == -17 && bArr2[1] == -69 && bArr2[2] == -65;
|
|
int i2 = 0;
|
|
int i3 = 0;
|
|
boolean z2 = true;
|
|
boolean z3 = true;
|
|
boolean z4 = true;
|
|
int i4 = 0;
|
|
int i5 = 0;
|
|
int i6 = 0;
|
|
int i7 = 0;
|
|
int i8 = 0;
|
|
int i9 = 0;
|
|
int i10 = 0;
|
|
int i11 = 0;
|
|
int i12 = 0;
|
|
while (i3 < length && (z2 || z3 || z4)) {
|
|
int i13 = bArr2[i3] & 255;
|
|
if (z4) {
|
|
if (i4 > 0) {
|
|
if ((i13 & PeripheralType.SERVO) != 0) {
|
|
i4--;
|
|
}
|
|
z4 = false;
|
|
} else if ((i13 & PeripheralType.SERVO) != 0) {
|
|
if ((i13 & 64) != 0) {
|
|
i4++;
|
|
if ((i13 & 32) == 0) {
|
|
i6++;
|
|
} else {
|
|
i4++;
|
|
if ((i13 & 16) == 0) {
|
|
i7++;
|
|
} else {
|
|
i4++;
|
|
if ((i13 & 8) == 0) {
|
|
i8++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
z4 = false;
|
|
}
|
|
}
|
|
if (z2) {
|
|
if (i13 > 127 && i13 < 160) {
|
|
z2 = false;
|
|
} else if (i13 > 159 && (i13 < 192 || i13 == 215 || i13 == 247)) {
|
|
i10++;
|
|
}
|
|
}
|
|
if (z3) {
|
|
if (i5 > 0) {
|
|
if (i13 >= 64 && i13 != 127 && i13 <= 252) {
|
|
i5--;
|
|
}
|
|
z3 = false;
|
|
} else {
|
|
if (i13 != 128 && i13 != 160 && i13 <= 239) {
|
|
if (i13 <= 160 || i13 >= 224) {
|
|
if (i13 > 127) {
|
|
i5++;
|
|
int i14 = i11 + 1;
|
|
if (i14 > i) {
|
|
i = i14;
|
|
i11 = i;
|
|
} else {
|
|
i11 = i14;
|
|
}
|
|
} else {
|
|
i11 = 0;
|
|
}
|
|
i12 = 0;
|
|
} else {
|
|
i2++;
|
|
int i15 = i12 + 1;
|
|
if (i15 > i9) {
|
|
i9 = i15;
|
|
i12 = i9;
|
|
} else {
|
|
i12 = i15;
|
|
}
|
|
i11 = 0;
|
|
}
|
|
}
|
|
z3 = false;
|
|
}
|
|
}
|
|
i3++;
|
|
bArr2 = bArr;
|
|
}
|
|
if (z4 && i4 > 0) {
|
|
z4 = false;
|
|
}
|
|
if (z3 && i5 > 0) {
|
|
z3 = false;
|
|
}
|
|
return (!z4 || (!z && (i6 + i7) + i8 <= 0)) ? (!z3 || (!b && i9 < 3 && i < 3)) ? (z2 && z3) ? (!(i9 == 2 && i2 == 2) && i10 * 10 < length) ? "ISO8859_1" : "SJIS" : z2 ? "ISO8859_1" : z3 ? "SJIS" : z4 ? "UTF8" : a : "SJIS" : "UTF8";
|
|
}
|
|
}
|