что делает этот модуль

Ответить
sfumato
Сообщения: 1
Зарегистрирован: 19 май 2014, 09:53

что делает этот модуль

Сообщение sfumato » 19 май 2014, 09:54

в яве не силён, поэтому прошу помощи.
кто может рассказать, что делает это слас. я думаю так
есть строка. полная абракадабра. она считывается и побайтно передаётся в клас

далее берется, например, первый байт, прибавляется 128
сравнивается значение. если больше 192 и меньше 255 то возвращается значение массива b с номером (2+(байт+128)-192)
(немного непонятно зачем. как я понял 192 в Wwin1251 это А, и &#1040 это тоже А. зачем "2" прибавлять?
т.е. как бы "шифровка". и в FAR ничего непонятно.)
далее сравнивается с для Ёё.
(Но ещё нулевое значение. что значит 8470 ?!)
далее опять функция char !!! как вообще 2 функции могут быть с одним названием ?!
for (int i = 0;; i++) - не понятно. что это ?!
далее если i > длинны массива, то возвращается это значение.
далее совсем неонятно: if (-256 + a == paramShort) {
получается, что если не русские буквы, то, (например было 55) берется
минус 256 + значение массива с номером 55
короче я совсем запутался. плиззз хелп !!!



public class d
extends DataInputStream
{
static short[] a = { 185, много много 192, 193, 194, 195, 196, 197, 198 и т.д. };
static char[] b = {8470, много много 1040, 1041, 1042, 1043, 1044, 1045, 1046 и т.д.};

public d(InputStream paramInputStream)
{
super(paramInputStream);
}

static char a(byte paramByte)
{
int i = paramByte + 128;
if ((i >= 192) && (i <= 255)) {
return b[(2 + (i - 192))];
}
if (i == 168) {
return b[0];
}
if (i == 184) {
return b[1];
}
return (char)i;
}

private static char a(short paramShort)
{
for (int i = 0;; i++)
{
if (i >= a.length) {
return (char)paramShort;
}
if (-256 + a == paramShort) {
return b;
}
}
}

public static String a(byte[] paramArrayOfByte)
{
int i = paramArrayOfByte.length;
char[] arrayOfChar = new char;
for (int j = 0;; j++)
{
if (j >= i) {
return new String(arrayOfChar);
}
arrayOfChar[j] = a(paramArrayOfByte[j]);
}
}

public String a()
{
int i = readInt();
byte[] arrayOfByte = new byte;
read(arrayOfByte, 0, i);
return a(e.d(arrayOfByte));
}

public String b()
{
byte[] arrayOfByte = new byte[readShort()];
read(arrayOfByte);
return a(arrayOfByte);
}

public byte[] c()
{
byte[] arrayOfByte = new byte[readInt()];
read(arrayOfByte);
return arrayOfByte;
}
}

Ответить