trasformar String String em String Hexadecimal...  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
proteus_adi
JavaGuru
[Avatar]

Membro desde: 24/11/2004 10:05:10
Mensagens: 237
Localização: Belo Horizonte -
Offline

ae,

estou querendo fazer duas rotinas pra transformar valores, string string em hexadecimal string....

entende?!

"Remember Yesterday and think about tomorrow... but you have to live today"

Existe vitória e existe derrota.
O segundo lugar é o primeiro dos que perderam.
[Email] [MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Pode fazer, não sou contra.
Quando ficar pronto, pode postá-las aqui no fórum.
[WWW]
rbcunha
Debugger
[Avatar]

Membro desde: 07/07/2004 15:04:58
Mensagens: 50
Offline

Isto que vc quer?

>
[Email]
proteus_adi
JavaGuru
[Avatar]

Membro desde: 24/11/2004 10:05:10
Mensagens: 237
Localização: Belo Horizonte -
Offline

isso garoto,
valeu... é disso que estou falando....



o sentido inverso seria bem parecido neh?!
---------

ops....
o sentido inverso não funcionou...
alguem ai tem alguma dicazinha?!

This message was edited 1 time. Last update was at 27/04/2005 14:47:09


"Remember Yesterday and think about tomorrow... but you have to live today"

Existe vitória e existe derrota.
O segundo lugar é o primeiro dos que perderam.
[Email] [MSN]
proteus_adi
JavaGuru
[Avatar]

Membro desde: 24/11/2004 10:05:10
Mensagens: 237
Localização: Belo Horizonte -
Offline

o sentido inverso não funcionou...
alguem ai tem alguma dicazinha

"Remember Yesterday and think about tomorrow... but you have to live today"

Existe vitória e existe derrota.
O segundo lugar é o primeiro dos que perderam.
[Email] [MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Hoje estou de bom humor.

Suponha que o formato da sua string hexadecimal seja algo como:

"bb4c122bcf2c26004f1413dda6fbfc0a"

A primeira coisa é pegar de dois em dois dígitos (acho que você deve saber usar substring).

A segunda coisa é ver o javadoc de Integer.parseInt. Existem duas versões:
parseInt(String) e parseInt(String, int). É a segunda versão que você tem de pegar. Onde está escrito "radix" você tem de passar 16.

static int parseInt(String s, int radix)
Parses the string argument as a signed integer in the radix specified by the second argument.

Portanto:

int x = Integer.parseInt ("bb", 16); // vai obter o valor 0xBB, que é 187 em decimal.

Acho que daí dá para você fazer a sua rotina.
[WWW]
proteus_adi
JavaGuru
[Avatar]

Membro desde: 24/11/2004 10:05:10
Mensagens: 237
Localização: Belo Horizonte -
Offline

mossu,,,
entendi beleza...

por exemplo, quando coloco '61' ele retorna 97, que é o valor decimal de 'a',,,
só que eu nào consegui ver um método em String que transforme esse decimal em Caracter...

eu num vou ter que criar uma tabela neh?!
ou... vou..

This message was edited 1 time. Last update was at 03/05/2005 14:01:30


"Remember Yesterday and think about tomorrow... but you have to live today"

Existe vitória e existe derrota.
O segundo lugar é o primeiro dos que perderam.
[Email] [MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Vou lhe contar um segredo - um 'char' é ao mesmo tempo um número (quando aprendi C++ tive um pouco de dificuldade de entender isso no começo, também porque não havia o GUJ naquela época... Mas depois consegui entender.)

Provavelmente o que você quer fazer é algo como:


Se você fizer isso alguém vai reclamar aqui de que está criando objetos à toa, portanto para ninguém reclamar vou mostrar como o pessoal costuma fazer:



[WWW]
proteus_adi
JavaGuru
[Avatar]

Membro desde: 24/11/2004 10:05:10
Mensagens: 237
Localização: Belo Horizonte -
Offline

oh,,,
esse char ai está aonde + ou - no javaDoc?
é java.lang tb?

é um tipo nativo num é? primitivo?

e é isso mesmo que queria fazer..
valeu

This message was edited 1 time. Last update was at 03/05/2005 14:09:09


"Remember Yesterday and think about tomorrow... but you have to live today"

Existe vitória e existe derrota.
O segundo lugar é o primeiro dos que perderam.
[Email] [MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Aham, é um tipo primitivo, que contém um caracter Unicode (2 bytes).
Toda String em última instância é um array de char, mas isso fica meio "escondido" de você.

[WWW]
proteus_adi
JavaGuru
[Avatar]

Membro desde: 24/11/2004 10:05:10
Mensagens: 237
Localização: Belo Horizonte -
Offline

o código tá beleza...
só que.. quando tem enter e/ou tab... dá cano...
o que será que é?

This message was edited 1 time. Last update was at 04/05/2005 13:50:52


"Remember Yesterday and think about tomorrow... but you have to live today"

Existe vitória e existe derrota.
O segundo lugar é o primeiro dos que perderam.
[Email] [MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Hum, é só você limpar os ENTER e TAB antes de usar. Alguém nesse fórum tinha mandado uma rotina que contava o número de espaços, a idéia de tirar ENTER e TAB é muito semelhante:

String strSemEnter = strComEnter.replaceAll("\\s", "");

Veja o javadoc de java.util.regex.Pattern para entender o que é esse "\\s" mágico aí.
[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team