Ascii de un caracter raro ( Urgente )

amorales
07 de Noviembre del 2003
Hola a todos. Estoy realizando un programa que tiene como objetivo leer algunos datos de una tabla de Sybase para despues codificarlos y por ultimo mandarlos un archivo de texto.

Pero tengo el problema de que cuando lo codifica al no encontrar un caracter raro me agrega a la cade un ? o algun otro caracter que si exista por lo que cuando lo trato de decodificar me manda otros caractes y no los originales.

Este es un ejemplo:

#Fecha Generacion|07112003|1100
El caracter 0 Su Ascii 48 La suma 79 El equivalente O
El caracter 0 Su Ascii 48 La suma 79 El equivalente O
El caracter 1 Su Ascii 49 La suma 80 El equivalente P
El caracter 1 Su Ascii 49 La suma 80 El equivalente P
El caracter | Su Ascii 124 La suma 155 El equivalente ?
El caracter 3 Su Ascii 51 La suma 82 El equivalente R
El caracter 0 Su Ascii 48 La suma 79 El equivalente O
El caracter 0 Su Ascii 48 La suma 79 El equivalente O
El caracter 2 Su Ascii 50 La suma 81 El equivalente Q
El caracter 1 Su Ascii 49 La suma 80 El equivalente P
El caracter 1 Su Ascii 49 La suma 80 El equivalente P
El caracter 7 Su Ascii 55 La suma 86 El equivalente V
El caracter 0 Su Ascii 48 La suma 79 El equivalente O
El caracter | Su Ascii 124 La suma 155 El equivalente ?
El caracter n Su Ascii 110 La suma 141 El equivalente ?
El caracter o Su Ascii 111 La suma 142 El equivalente ?
El caracter i Su Ascii 105 La suma 136 El equivalente ?
El caracter c Su Ascii 99 La suma 130 El equivalente ?
El caracter a Su Ascii 97 La suma 128 El equivalente ?
El caracter r Su Ascii 114 La suma 145 El equivalente ?
El caracter e Su Ascii 101 La suma 132 El equivalente ?
El caracter n Su Ascii 110 La suma 141 El equivalente ?
El caracter e Su Ascii 101 La suma 132 El equivalente ?
El caracter G Su Ascii 71 La suma 102 El equivalente f
El caracter Su Ascii 32 La suma 63 El equivalente ?
El caracter a Su Ascii 97 La suma 128 El equivalente ?
El caracter h Su Ascii 104 La suma 135 El equivalente ?
El caracter c Su Ascii 99 La suma 130 El equivalente ?
El caracter e Su Ascii 101 La suma 132 El equivalente ?
El caracter F Su Ascii 70 La suma 101 El equivalente e
El caracter # Su Ascii 35 La suma 66 El equivalente B

Cuando se decofica sale esto : #S%%%e%a%ORRe%%%caI%%%%6.5

Esto porque en lugar de los caracteres que realmente iban pone "?"

El codigo para codificar es:

public static String encriptar(Object lacadena) {
StringBuffer buff; // temporal
int tamano; // tamano de str
char c; // temporal

String str = lacadena.toString();

System.out.println(str);

if (str.length() > 80) {
str = str.substring(0, 80);
}

tamano = str.length();

buff = new StringBuffer(tamano);
for (int i = tamano - 1; i >= 0; i--) {
c = str.charAt(i);

buff.append((char) (c + tamano));
}
return buff.toString().trim();
} // fin encriptar

Alguie tiene alguna idea del porque sucede esto, o que debo configurar para que remediarlo. ( Esto sucede en Windows XP y UNIX)

Mil gracias