Guys,
Não encontrei nenhum tópico a respeito que me ajudasse, assim, tive que abrir o que vos lê agora…
Eu tenho um método que encripta uma String, conforme podem ver abaixo:
[code]public static byte[] encript(String param) throws EncryptorException{
	try {						
							
		StringBuilder builder = new StringBuilder();						
		
		char[] chars = param.toCharArray();
					
		for(char c : chars){
			
			int code = (int)c;
			
            if (code >= 97 && code <= 122)
                if (code == 122){
                	builder.append((char)(code + 38));
            		
                }else
                    if (code == 105 || code == 106){
                    	builder.append((char)(code + 22));
                    	
                    }else
                        if(code == 109){
                        	builder.append((char)(code + 48));
                        	
                        }else{
                        	builder.append((char)(code - 96));
                        	
                        }                                
            
            if (code >= 224 && code <= 252){
            	builder.append((char)(code - 128));
            	
            }
            if (code >= 48 && code <= 57)
                if (code >= 54 && code <= 57){
                	builder.append((char)(code + 87));
                	
                }else
                    if (code == 53){
                    	builder.append((char)(code + 76));
                    	
                    }else{
                    	builder.append((char)(code - 21));
                    	
                    }
            
		}												
														            
        return builder.toString().getBytes("ISO8859_1");
		
	} catch (Exception e) {
		// TODO: handle exception
		throw new EncryptorException(e.getMessage());
	}		         				
	
}[/code]
O método me retorna um byte[] com os valores 5,4,19,15,14,29,27,27,-112, sendo que o correto seria 5,4,19,15,14,29,27,27,144. Acredito que o problema esteja no encoding, onde no Java, o padrão é o UTF8, sendo que precisamos utilizar o padrão ISO-8859-1. E mesmo usando “getBytes(“ISO8859_1”)”, ainda vem com o valor errado…
Alguém tem algumas luz? Como por exemplo, criar um StringBuilder que construa de fato uma String em ISO88591?
