rendered paste bodyimport java.io.*;
public class ebcdicConverter {
public String asciiToEbcdic(String cadena){
/*public char charAt(int index)Returns the character at the specified index.
An index ranges from 0 to length() - 1. The first character of the sequence is at index 0,
the next at index 1, and so on, as for array indexin
public int length()Returns the length of this string. The length is equal to the number
of 16-bit Unicode characters in the string.
*/
String cadena_regreso;
char[] cbuf;
int cadenaSize = cadena.length();
char caracter;
int iCaracter;
cbuf = new char[1000];
for(int i = 0; i < cadenaSize; i++){
caracter = cadena.charAt(i);
iCaracter = (int) caracter;
if(iCaracter == 32)
iCaracter = 64;
else if((iCaracter >= 65) && (iCaracter <= 73))
iCaracter = iCaracter + 128;
else if((iCaracter >= 74) && (iCaracter <= 82))
iCaracter = iCaracter + 135;
else if((iCaracter >= 83) && (iCaracter <= 90))
iCaracter = iCaracter + 143;
else if((iCaracter >= 97) && (iCaracter <= 105))
iCaracter = iCaracter + 32;
else if((iCaracter >= 106) && (iCaracter <= 114))
iCaracter = iCaracter + 39;
else if((iCaracter >= 115) && (iCaracter <= 122))
iCaracter = iCaracter + 47;
else if((iCaracter >= 48) && (iCaracter <= 57))
iCaracter = iCaracter + 192;
cbuf[i] = (char) iCaracter;
}
cadena_regreso = String.copyValueOf( cbuf, 0, cadenaSize);
return cadena_regreso;
}
public String ebcdicToAscii(String cadena){
String cadena_regreso;
char[] cbuf;
int cadenaSize = cadena.length();
char caracter;
int iCaracter;
cbuf = new char[1000];
for(int i = 0; i < cadenaSize; i++){
caracter = cadena.charAt(i);
iCaracter = (int) caracter;
if(iCaracter == 64)
iCaracter = 32;
else if(iCaracter == 75)
iCaracter = 46;
else if((iCaracter >= 193) && (iCaracter <= 201))
iCaracter = iCaracter - 128;
else if((iCaracter >= 209) && (iCaracter <= 217))
iCaracter = iCaracter - 135;
else if((iCaracter >= 226) && (iCaracter <= 233))
iCaracter = iCaracter - 143;
else if((iCaracter >= 129) && (iCaracter <= 137))
iCaracter = iCaracter - 32;
else if((iCaracter >= 145) && (iCaracter <= 153))
iCaracter = iCaracter - 39;
else if((iCaracter >= 162) && (iCaracter <= 169))
iCaracter = iCaracter - 47;
else if((iCaracter >= 240) && (iCaracter <= 249))
iCaracter = iCaracter - 192;
cbuf[i] = (char) iCaracter;
}
cadena_regreso = String.copyValueOf( cbuf, 0, cadenaSize);
return cadena_regreso;
}
}