home *** CD-ROM | disk | FTP | other *** search
- package espresso;
-
- class Convert {
- public static String escape(char var0) {
- char[] var1 = new char[]{var0};
- return escape(new String(var1));
- }
-
- public static String escape(String var0) {
- return new String(string2ascii(var0), 0);
- }
-
- public static byte[] string2ascii(String var0) {
- byte[] var1 = string2source(var0);
- byte[] var2 = new byte[var1.length * 2];
- int var3 = source2ascii(var1, 0, var1.length, var2);
- byte[] var4 = new byte[var3];
- System.arraycopy(var2, 0, var4, 0, var3);
- return var4;
- }
-
- public static byte[] string2source(String var0) {
- byte[] var1 = new byte[var0.length() * 6];
- int var2 = 0;
-
- for(int var3 = 0; var3 < var0.length(); ++var3) {
- char var4 = var0.charAt(var3);
- switch (var4) {
- case '\n':
- var1[var2++] = 92;
- var1[var2++] = 110;
- break;
- case '\t':
- var1[var2++] = 92;
- var1[var2++] = 116;
- break;
- case '\b':
- var1[var2++] = 92;
- var1[var2++] = 98;
- break;
- case '\r':
- var1[var2++] = 92;
- var1[var2++] = 114;
- break;
- case '\f':
- var1[var2++] = 92;
- var1[var2++] = 102;
- break;
- case '"':
- var1[var2++] = 92;
- var1[var2++] = 34;
- break;
- case '\'':
- var1[var2++] = 92;
- var1[var2++] = 39;
- break;
- case '\\':
- var1[var2++] = 92;
- var1[var2++] = 92;
- break;
- default:
- if (' ' <= var4 && var4 <= 127) {
- var1[var2++] = (byte)var4;
- } else {
- var1[var2++] = 92;
- var1[var2++] = 117;
- var1[var2++] = int2digit(var4 >> 12 & 15);
- var1[var2++] = int2digit(var4 >> 8 & 15);
- var1[var2++] = int2digit(var4 >> 4 & 15);
- var1[var2++] = int2digit(var4 & 15);
- }
- }
- }
-
- byte[] var5 = new byte[var2];
- System.arraycopy(var1, 0, var5, 0, var2);
- return var5;
- }
-
- public static String ascii2string(byte[] var0, int var1, int var2) {
- char[] var3 = new char[var2];
- int var4 = 0;
-
- int var5;
- int var6;
- for(var5 = 0; var4 < var2; var3[var5++] = (char)var6) {
- var6 = var0[var1 + var4++];
- if (var6 >= 224) {
- var6 = (var6 & 15) << 12;
- var6 |= (var0[var1 + var4++] & 63) << 6;
- var6 |= var0[var1 + var4++] & 63;
- } else if (var6 >= 192) {
- var6 = (var6 & 31) << 6;
- var6 |= var0[var1 + var4++] & 63;
- }
- }
-
- return new String(var3, 0, var5);
- }
-
- public static int source2ascii(byte[] var0, int var1, int var2, byte[] var3) {
- int var4 = 0;
- int var5 = 0;
-
- while(var5 < var2) {
- if (var0[var1 + var5] == 92 && var5 + 1 < var2) {
- ++var5;
- switch (var0[var1 + var5]) {
- case 98:
- var3[var4++] = 8;
- ++var5;
- continue;
- case 99:
- case 100:
- case 101:
- case 103:
- case 104:
- case 105:
- case 106:
- case 107:
- case 108:
- case 109:
- case 111:
- case 112:
- case 113:
- case 115:
- default:
- break;
- case 102:
- var3[var4++] = 12;
- ++var5;
- continue;
- case 110:
- var3[var4++] = 10;
- ++var5;
- continue;
- case 114:
- var3[var4++] = 13;
- ++var5;
- continue;
- case 116:
- var3[var4++] = 9;
- ++var5;
- continue;
- case 117:
- if (var5 + 4 < var2) {
- int var6 = 0;
- int var7 = 1;
-
- int var8;
- for(var8 = 0; var7 <= 4 && var8 >= 0; ++var7) {
- var8 = digit2int(var0[var1 + var5 + var7], 16);
- var6 = var6 * 16 + var8;
- }
-
- if (var8 >= 0) {
- if (var6 <= 127) {
- var3[var4++] = (byte)var6;
- } else if (var6 <= 1023) {
- var3[var4++] = (byte)(192 | var6 >> 6);
- var3[var4++] = (byte)(128 | var6 & 63);
- } else {
- var3[var4++] = (byte)(224 | var6 >> 12);
- var3[var4++] = (byte)(128 | var6 >> 6 & 63);
- var3[var4++] = (byte)(128 | var6 & 63);
- }
-
- var5 += 5;
- continue;
- }
- }
- }
- }
-
- byte var9 = var0[var1 + var5++];
- if (var9 >= 0) {
- var3[var4++] = var9;
- } else {
- var3[var4++] = (byte)(192 | var9 >> 6 & 3);
- var3[var4++] = (byte)(128 | var9 & 63);
- }
- }
-
- return var4;
- }
-
- public static byte int2digit(int var0) {
- return var0 <= 9 ? (byte)(var0 + 48) : (byte)(var0 - 10 + 65);
- }
-
- public static int digit2int(byte var0, int var1) {
- if (48 <= var0 && var0 <= 57 && var0 < 48 + var1) {
- return var0 - 48;
- } else if (65 <= var0 && var0 < 65 + var1 - 10) {
- return var0 - 65 + 10;
- } else {
- return 97 <= var0 && var0 < 97 + var1 - 10 ? var0 - 97 + 10 : -1;
- }
- }
-
- public Convert() {
- }
- }
-