Page 1 of 1

Java - Convert Ascii to Binary

Posted: Tue Dec 27, 2005 5:30 pm
by semika
Γεια σας!

Θα ήθελα να μετατρέψω έναν Ascii χαρακτήρα στη binary μορφή του.
Χρησιμοποιώ το εξής:

Code: Select all

Integer.toBinaryString('Η');
για να μετατρέψω τον χαρακτήρα Η στο 01001000.

Ωστόσο το παραπάνω μου επιστρέφει το τη δυαδική αναπαράσταση με 7 bits, δηλ 1001000.

Υπάρχει τρόπος να μου επιστρέφει οκτάδα?
ΥΓ-> Οχι χειροκίνητα, δηλ να προσθέτω το "0"....

Ευχαριστώ.....

Posted: Wed Dec 28, 2005 8:36 am
by Erevodifwntas
Δε νομίζω ότι γίνεται αυτόματα αλλά κάτι της μορφής

Code: Select all

String temp = Integer.toBinaryString('Η');
while (temp.length < 8)
{
      temp = "0" + temp;
}
κάνει τη δουλειά γρήγορα και ωραία (δεν το δοκίμασα τον κώδικα για να δω αν δουλεύει, και ξύπνησα πριν λίγο οπότε μπορεί να γράφω αηδίες ;-)

Posted: Wed Dec 28, 2005 11:59 am
by mikem4600
Στο .NET υπάρχει κάτι του τύπου String.Format(temp, ...) που κάνει την είσοδο όπως την θες (με όσα ψηφία θες κτλ.). Λογικά θα υπάρχει κάτι τέτοιο και στη Java.

Posted: Wed Dec 28, 2005 1:23 pm
by lumenintervalum
δοκίμασε την writeByte(int v)

εγώ το βρήκα εδώ: http://www.mindprod.com/jgloss/binaryformats.html

Posted: Thu Dec 29, 2005 8:52 pm
by semika
Erevodifwntas ευχαριστώ! Αυτό το έκανα αλλά δε με εξυπερετεί!

mikem4600 κι εγώ αυτό εννοώ! Αλλά δεν το έχω βρει ακόμη!

lumenintervalum θα το δοκιμάσω. ευχαριστω πολύ...

Posted: Fri Dec 30, 2005 12:07 am
by lumenintervalum
Erevodifwntas :P

Posted: Sat Dec 31, 2005 12:08 pm
by semika
lumenintervalum wrote:δοκίμασε την writeByte(int v)

εγώ το βρήκα εδώ: http://www.mindprod.com/jgloss/binaryformats.html
Αυτό απλά γράφει στην έξοδο (κονσόλα) το byte. Αρα δεν είναι κατάλληλο για υτό που ψάχνω... Ευχαριστώ...


Καμιά άλλη ιδέα?

Posted: Sat Dec 31, 2005 12:32 pm
by Erevodifwntas
Αν μας έλεγες τι περίπου το θες θα μας βοηθούσες κι εμας (αν κάνεις τον κώδικα που γράψαμε στην αρχή μία συνάρτηση και να τη χρησιμοποιείς κάπως έτσι myBinary(Integer.toBinaryString('Η')); δε θα ήταν το ίδιο με αυτό που ψάχνεις?)

Posted: Mon Jan 02, 2006 9:48 pm
by semika
Tελικά έτσι το έκανα, όπως το είχα και στην αρχή άλλωστε...
semika wrote:ΥΓ-> Οχι χειροκίνητα, δηλ να προσθέτω το "0"....

αλλά δε μου αρέσει έτσι... Ευχαριστώ πολύ πάντως!
Και επι τη ευκαιρία καλή χρονιά....