[quote=thingol]1) Criptografias são feitas sobre arrays de bytes.
2) Para converter uma string em um array de bytes você precisa usar String.toByteArray. Por exemplo:
Para gravar o array de bytes como uma string, converta-a para hexadecimal ou base-64. Não converta diretamente para uma string, porque não funciona.
[/quote]
O valor UTF-8 de Ç não é um byte apenas (199), e sim 2 bytes: C3 87 (195, 135).
O valor 199 é em Unicode (decimal de U+00C7).
Então, para obter 199, basta usar:
Puxa, agora entendi. Você quer o valor de Ç em Windows-1252, e esse valor é realmente 128. Então você faz exatamente como eu mostrei (o problema do byte é que vai de -128 a +127, e para converter para os valores esperados (128 em vez de "-128"), você tem de fazer uma pequena gambiarra que vou mostrar.
byte[] bytes = conceicao.getBytes ("ISO-8859-1"); // pode tentar também "Windows-1252"
int[] ints = new int[bytes.length];
for (int i = 0; i < ints; i++)
{
ints [i] = bytes[i] & 0xFF; // esta é a gambiarra
}
entao cara, tinha feito parecido, acho q to marcando bobeira mas nao deu os valores nao
eu quero encontrar o valor em ascii
por exemplo o caracter ç o valor dele nessa encontrado nessa operação foi 231
que é o valor unicode da tabela http://www.unicode.org/charts/PDF/U0080.pdf
String conceicao = "Conceição";
byte[] bytes = conceicao.getBytes ("ISO-8859-1"); // pode tentar também "Windows-1252"
int[] ints = new int[bytes.length];
for (int i = 0; i < ints.length; i++)
{
ints [i] = bytes[i] & 0xFF; // esta é a gambiarra
}
System.out.println (ints[6]); // deve imprimir o tal valor "135" que você achou na tabela.