nanydesp 8 de out. de 2008
veja esta tabela
http://www.din.uem.br/sica/material/ascii.php
preciso transformar os caracteres de 128 a 255 em binário…
Bruno_Laturner 8 de out. de 2008
nanydesp:
veja esta tabela
http://www.din.uem.br/sica/material/ascii.php
preciso transformar os caracteres de 128 a 255 em binário…
E qual a dificuldade? É só você colocar os números entre 128 e 255 em binário.
Se quiser imprimir os números em binário, existe o método Integer.toString(valor, base)
for ( int i = 0 , i < 255 ; i ++ )
System . out . println ( Integer . toString ( i , 2 ));
nanydesp 8 de out. de 2008
é que eu só tenho os caracteres…
Bruno_Laturner 8 de out. de 2008
São caracteres das tabela CP437 (ASCII Estendido) ou da ISO 8859-1 ?
nanydesp 8 de out. de 2008
CP437 (ASCII Estendido) , a partir deles eu preciso chegar no binário correspondente.
Bruno_Laturner 8 de out. de 2008
String caracteresEmCP437 = "╟┤₧Ü";
byte[] bytes = caracteresEmCP437.getBytes("CP437");
for (byte b : bytes)
{
String binario = Integer.toString(b, 2);
System.out.println(binario);
}
Nem testei.
nanydesp 8 de out. de 2008
deu este erro : :?: :?
Bruno_Laturner 8 de out. de 2008
sowyer:
só uma dúvida amigo … o que significa o :
nunk usei …por isso não sei o que é esse “:” no for …
:oops:
desculpem a minha iguinorâncias …
É uma “novidade” do Java 5:
http://rafaelsakurai.blogspot.com/2006/05/novidade-java-5-for-each.html
Bruno_Laturner 8 de out. de 2008
Umm Eclipse… Nunca usei ele, mas qdo vc vai salvar o arquivo usando o Salvar Como…, não tem uma opção p/ mudar o encoding do código fonte? Mude para UTF-8.
Bruno_Laturner 8 de out. de 2008
Parece que tem também em Preferences->General->Workspace pra mudar o encoding, e também dentro das propriedades do projeto.
nanydesp 8 de out. de 2008
mudar o encoding Blz, mas n funcionou
…ele n entende estes caracteres especiais e joga um “?” mudando totalmente o valor q espero.
o q deveria ser:
char = ¸
binário = 10000010
fica
char = ?
binário = 00111111
Bruno_Laturner 8 de out. de 2008
Aqui dá um resultado parecido, mas é por causa da fonte do console que não aparece os caracteres. O binário fica certo.
Ele estava imprimindo o binário errado, esqueci de levar em consideração a transformação de byte ´/ int. O código corrigido:
import java.io.UnsupportedEncodingException ;
public class AsciiEstendido
{
public static void main ( String [] args )
{
try
{
String caracteresEmCP437 = "╟┤₧Ü" ;
byte [] bytes = caracteresEmCP437 . getBytes ( "CP437" );
for ( byte b : bytes )
{
String binario = null ;
if ( b < 0 )
binario = Integer . toString ( b + 256 , 2 );
else
binario = Integer . toString ( b , 2 );
byte [] barr = { b };
System . out . println ( "char: " + new String ( barr , "CP437" ) + "\nbinário: " + binario );
}
}
catch ( UnsupportedEncodingException ex )
{
}
}
}
Imprime
char: ?
binário: 11000111
char: ?
binário: 10110100
char: ?
binário: 10011110
char: Ü
binário: 10011010
nanydesp 9 de out. de 2008
Muito Obrigada Bruno!!!
Preciso de mais uma ajudinha sua
Além de usar o encoding UTF-8 e o Java 5, tem alguma outra coisa que tenho que mudar??? meu projeto não compila de jeito nenhum…
Bruno_Laturner 9 de out. de 2008
Aí é mais difícil, mostra algum erro?
nanydesp 9 de out. de 2008
Só qndo eu tento executar…
Exception in thread “main” java.lang.Error: Unresolved compilation problem:
at AsciiEstendido . main ( AsciiEstendido . java : 7 )
mas não aponta nenhum erro na classe…
Bruno_Laturner 9 de out. de 2008
O erro é por que a classe não foi compilada corretamente.
Tente compilar o arquivo à força, ou dar um clean no projeto, e compile de novo.
nanydesp 9 de out. de 2008
Blz…resolvi!
Mto obrigada Bruno!!!
Valeww mesmo.