Runar0 Skrevet 1. mai 2007 Del Skrevet 1. mai 2007 Emne tittelen er kanskje litt lite passende men her kommer problemet mitt. Eg har eit server program i c++. Dette programmet har ein variable ved navn B som er av typen BigInteger. Denne variablen blir sent over ein TCP oppkobling ved hjelp av følgande kode: pkt.append(B.AsByteArray(), 32); Så har eg eit java program som skal fungere som ein klient og dette programmet leser inn BigIntegeren ved hjelp av denne koden buff = new byte[32]; in.read(buff); BigInteger i = new BigInteger(buff); Men vist eg skriver ut B på serveren til konsollet ved hjelp av B.AsHexString og innhaldet i buff ved hjelp av følgande funksjon: private static final char hexToAscii(int h) { if ( ( h >= 10 ) && ( h <= 15 ) ) return (char)( 'A' + ( h - 10 ) ); if ( ( h >= 0 ) && ( h <= 9 ) ) return (char)( '0' + h ); return '0'; } public static String tohex(byte[] buffer) { StringBuffer result = new StringBuffer(); for(int i = 0; i < buffer.length; ++i) result.append(hexToAscii((buffer[i] >>> 4) & 0xF)) .append(hexToAscii(buffer[i] & 0x0F)); return result.toString(); } så er teksten forskellig :/ Noen som veit kvifor dette skjer? Lenke til kommentar
pgdx Skrevet 2. mai 2007 Del Skrevet 2. mai 2007 Blir teksten lik uten TCP-overføring? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå