2009-05-20 4 views
0

Ich möchte BigInteger Daten in Socket senden und mein Freund möchte die Daten abrufen.
Ich verwende Java, aber mein Freund verwendet C#.Wie kann ich mit C# Java-Daten von einem Socket abrufen?

String str = "Hello"; 
BigInteger big = new BigInteger(str.getBytes); 
byteToBeSent[] = big.toByteArray(); 

Ich sende dieses Byte-Array (byteToBeSent[]) durch Socket. Und mein Freund möchte "Hallo" abrufen.

Wie ist das möglich?

+0

Erstellen eines BigInteger aus einer Zeichenfolge wie "Hallo" scheint eine schlechte Idee. – Cheeso

Antwort

2

Ehrlich gesagt, sollten Sie die eingebauten Encoding-Klassen in C# verwenden.

string str = "Hello"; 
byte[] data = System.Text.Encoding.UTF8.GetBytes(str); 

Und dann senden Sie das über den Sockel.

0

Sie müssen eine custom BigInteger class for C# bekommen.

Aber Parsing "Hallo" als Biginteger wird nicht funktionieren. Wenn Sie Text senden möchten, verwenden Sie besser die Navaars-Methode.

1

Warum verwenden Sie BigInteger, um String-Daten zu senden? Oder ist das nur ein Beispiel?

Wenn Sie String-Daten senden möchten, verwenden Sie String.getBytes(String encoding), senden Sie das Ergebnis und dekodieren Sie es mit System.Text.Encoding.

3

Von Java, senden Sie Ihre Zeichenfolge mit String.getBytes(encoding) und geben Sie die Codierung an, wie Ihr Freund es lesen wird (z. B. UTF-8).

Dadurch wird Ihre Zeichenfolge in einen Byte-Stream übersetzt, der am C# -Ende übersetzbar sein wird, da Sie sich beide über den Codierungsmechanismus einig sind.

Ich bin mir nicht sicher, was Ihr BigInteger-Mechanismus macht, aber ich glaube nicht, dass er portabel ist und auch nicht mit großen Strings umgehen kann.

0

Am C# -Ende können Sie System.Text.Encoding.ASCII.GetString (bytesToConvert []) verwenden, um das empfangene Byte-Array zurück in eine Zeichenfolge zu konvertieren.

Ich dachte, das wäre eine Art Java-Idiom, um eine Zeichenfolge in ein Byte-Array zu konvertieren. Es konvertiert die Zeichenfolge korrekt in ASCII-Bytes, und da die Länge von BigInteger beliebig ist, sollte die Länge der Zeichenfolge kein Problem sein.

Verwandte Themen