Caros colegas,

Quero agradecer a colabora��o de todos e compartilhar a solu��o para o problema.

Eu utilizo a classe Desinverte nos dados que chegam atraves da DataInputStream e
Inverte na sa�da dos dados DataOutputStream. No meu caso eu so recebo dados int
e long, por isso s� implementei os metodos Shor e Int.

DOS int = 2 bytes = Java Short
DOS long = 4 bytes = Java Int


Aqui vai o codigo...


class Desinverte {
        short Short(short valor)
        {
                int byte1 = (valor >>> 8) & 0xFF;
                int byte2 = (valor & 0xFF);
                return (short) ((byte2 << 8) + byte1);
        }

        int Int(int valor)
        {
                int byte1 = (valor >>> 24) & 0xFF;
                int byte2 = (valor >>> 16) & 0xFF;
                int byte3 = (valor >>>  8) & 0xFF;
                int byte4 = (valor & 0xFF);
                return (int) ((byte4 << 24) + (byte3 << 16) + (byte2 << 8) +
byte1);
        }
}

//========================================================

class Inverte {
        short Short(short valor)
        {
                int byte1 = (valor & 0xFF);
                int byte2 = (valor >>> 8) & 0xFF;
                return (short) ((byte1 << 8) + byte2);
        }

        int Int(int valor)
        {
                int byte1 = (valor & 0xFF);
                int byte2 = (valor >>>  8) & 0xFF;
                int byte3 = (valor >>> 16) & 0xFF;
                int byte4 = (valor >>> 24) & 0xFF;
                return (int) ((byte1 << 24) + (byte2 << 16) + (byte3 << 8) +
byte4);
        }
}




[]s, Grego

____________________Separador de Resposta____________________
Assunto:    Re: [SouJava-J] Inversao de bytes no DOS 
Autor:  <[EMAIL PROTECTED]>
Data:       08/12/99 14:48

[EMAIL PROTECTED] wrote:
> 
> Caros colegas,
> 
> Recebo num servidor socket, atraves do DataInputStream dados vindos de
clientes
> DOS. O problema � que os tipos int, long e etc no DOS possuem os bytes
> invertidos. Alguem sabe como resolver o problema com Java? Existe alguma
classe
> para desenverter, ou alguem possui por acaso no fundo da gaveta alguma classe
> para fazer esse tratamento?
> 
> Desde j�, muito obrigado.
> 
> []s,
> Grego
> 

Se voce usar as classes de envio de dados do Java (Data Input/Output
Stream, ou se voce prefeirir, usar RMI), voce nao tera nenhum problema
de inversao de bytes. Isso esta escondido de voce pela biblioteca.

Abracos,

Bruno.
______________________________________________________________________
Bruno Peres Ferreira de Souza                         Sun Microsystems
System Engineer - Java Technologist         [EMAIL PROTECTED]
        if I fail, if I succeed, at least I live as I believe

    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    ---------------------------------------------------------------------


 

Received: from server07.brasifrj.com.br [172.16.2.7] by brasifrj.com.br (ccMail Link 
to SMTP R8.30.00.7)
        ; Wed, 08 Dec 1999 17:48:30 -0200
Return-Path: <[EMAIL PROTECTED]>
Received: (qmail 32595 invoked by alias); 8 Dec 1999 19:48:54 -0000
Delivered-To: [EMAIL PROTECTED]
Received: (qmail 32591 invoked from network); 8 Dec 1999 19:48:53 -0000
Received: (ofmipd 209.68.1.162); 8 Dec 1999 19:48:31 -0000
Received: (from slist@localhost) by ansuz.pair.com (8.9.1/8.6.12) id OAA13221 for 
[EMAIL PROTECTED]; Wed, 8 Dec 1999 14:48:49 -0500 (EST)
Resent-Date: Wed, 8 Dec 1999 14:48:49 -0500 (EST)
Resent-Message-ID: <[EMAIL PROTECTED]>
Resent-From: [EMAIL PROTECTED]
Resent-Sender: [EMAIL PROTECTED]
Date: 8 Dec 1999 17:44:05 -0200
Message-ID: <[EMAIL PROTECTED]>
From: "Bruno F. Souza" <[EMAIL PROTECTED]>
Sender: [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
X-Envelope-To: [EMAIL PROTECTED]
Old-X-Envelope-To: <[EMAIL PROTECTED]>
Organization: Sun Microsystems do Brasil
X-Mailer: Mozilla 4.51 [en] (X11; U; SunOS 5.7 sun4m)
X-Accept-Language: en
MIME-Version: 1.0
Subject: Re: [SouJava-J] Inversao de bytes no DOS
References: <[EMAIL PROTECTED]>
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Mailing-List: <[EMAIL PROTECTED]> archive/latest/715
X-Loop: [EMAIL PROTECTED]
Precedence: list

Responder a