Ερώτηση σε Java για char-Ascii

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
Post Reply
User avatar
marios
Wow! Terabyte level
Wow! Terabyte level
Posts: 2810
Joined: Wed Sep 26, 2007 3:44 pm
Academic status: Alumnus/a
Gender:
Location: Μεταξύ φθοράς και αφθαρσίας

Ερώτηση σε Java για char-Ascii

Post by marios » Tue Sep 30, 2008 3:44 pm

Παίδες θέλω την βοήθεια σας:
Θέλω να έχω ένα κείμενο(στα ελληνικά), και μέσω του προγράμματος να το μετατρέπω σε ascii κωδικούς(π.χ. α=152 β=153 κλπ). Αυτό που έχω φτιάξει ενώ δουλεύει ok για αγγλικούς χαρκτήρες(κάνει cast στα char για να μου γυρίσει int), στα ελληνικά βγάζει άλλα ντ'άλλων... Καμία ιδέα;
Μην κλαις επειδή τελείωσε. Χαμογέλα επειδή συνέβη- G.G.M.
Η μεγαλύτερη ευτυχία είναι να ξέρεις την πηγή της δυστυχίας-F.D.
Η μουσική εκφράζει αυτά που δεν μπορούν να ειπωθούν και που είναι αδύνατο να μείνουν στη σιωπή-V.H.
Πίστη στην πρόοδο, δεν σημαίνει και πίστη στο ότι έχει συμβεί κάποια πρόοδος-F.K.
Χωρίς μουσική, η ζωή θα ήταν ένα λάθος-F.N
User avatar
gasparosoft
Gbyte level
Gbyte level
Posts: 1920
Joined: Fri Oct 19, 2007 8:03 pm

Re: Ερώτηση σε Java για char-Ascii

Post by gasparosoft » Tue Sep 30, 2008 3:57 pm

Τι σου βγάζει;Νομίζω αν σου βγάζει για α=945 είναι σωστό.Γιατί από ότι θυμάμαι αυτή είναι η δεκαδική του "απεικόνιση".
User avatar
marios
Wow! Terabyte level
Wow! Terabyte level
Posts: 2810
Joined: Wed Sep 26, 2007 3:44 pm
Academic status: Alumnus/a
Gender:
Location: Μεταξύ φθοράς και αφθαρσίας

Re: Ερώτηση σε Java για char-Ascii

Post by marios » Tue Sep 30, 2008 4:05 pm

Ισχύει αυτό που λες αλλά μου βγάζει άσχετα(65533)... Αντίθετα όταν τα διαβάζω κατ'ευθείαν σαν int και μετά τα κάνω char δεν έχει πρόβλημα... Αλλά εγώ χρειάζομαι char-->int και οχι int-->char :smt010 :smt010
Μην κλαις επειδή τελείωσε. Χαμογέλα επειδή συνέβη- G.G.M.
Η μεγαλύτερη ευτυχία είναι να ξέρεις την πηγή της δυστυχίας-F.D.
Η μουσική εκφράζει αυτά που δεν μπορούν να ειπωθούν και που είναι αδύνατο να μείνουν στη σιωπή-V.H.
Πίστη στην πρόοδο, δεν σημαίνει και πίστη στο ότι έχει συμβεί κάποια πρόοδος-F.K.
Χωρίς μουσική, η ζωή θα ήταν ένα λάθος-F.N
User avatar
gasparosoft
Gbyte level
Gbyte level
Posts: 1920
Joined: Fri Oct 19, 2007 8:03 pm

Re: Ερώτηση σε Java για char-Ascii

Post by gasparosoft » Tue Sep 30, 2008 4:07 pm

Εμένα μου δουλεύει πάντως μια χαρά.

Code: Select all

----------------------
char c='α';
int i=(int)c;
System.out.println(i);
----------------------
945
User avatar
marios
Wow! Terabyte level
Wow! Terabyte level
Posts: 2810
Joined: Wed Sep 26, 2007 3:44 pm
Academic status: Alumnus/a
Gender:
Location: Μεταξύ φθοράς και αφθαρσίας

Re: Ερώτηση σε Java για char-Ascii

Post by marios » Tue Sep 30, 2008 4:15 pm

Σε αυτό που μου έγραψες και εμένα οκ δουλεύει, όταν διαβάζει από το πληκτρολόγιο string και παίρνω το charAt και το κάνω int έχω το πρόβλημα...
Anyway, thanks!
Μην κλαις επειδή τελείωσε. Χαμογέλα επειδή συνέβη- G.G.M.
Η μεγαλύτερη ευτυχία είναι να ξέρεις την πηγή της δυστυχίας-F.D.
Η μουσική εκφράζει αυτά που δεν μπορούν να ειπωθούν και που είναι αδύνατο να μείνουν στη σιωπή-V.H.
Πίστη στην πρόοδο, δεν σημαίνει και πίστη στο ότι έχει συμβεί κάποια πρόοδος-F.K.
Χωρίς μουσική, η ζωή θα ήταν ένα λάθος-F.N
User avatar
cyberpython
Mbyte level
Mbyte level
Posts: 654
Joined: Wed Nov 21, 2007 8:18 pm
Academic status: Alumnus/a
Gender:
Location: Αθηνα
Contact:

Re: Ερώτηση σε Java για char-Ascii

Post by cyberpython » Tue Sep 30, 2008 9:20 pm

Μήπως παίζει κάτι με το codepage στο τερματικό σου;
User avatar
netharis
Venus Former Team Member
Posts: 1845
Joined: Sun Jul 15, 2007 2:37 pm
Academic status: Alumnus/a
Gender:
Location: Seattle, Washington
Contact:

Re: Ερώτηση σε Java για char-Ascii

Post by netharis » Tue Sep 30, 2008 9:59 pm

Δεν είναι ΑSCII, είναι Unicode. To ΑSCII περιέχει το σύνολο των λατινικών χαρακτήρων.
Επίσης αυτό οφείλεται στη μέθοδο που χρησιμοποιείς για να διαβάσεις το String.
Για παράδειγμα:

Code: Select all

Scanner reader = new Scanner(System.in);
String s = reader.nextLine();
System.out.println(s);
Αυτό δεν δουλεύει σωστά για χαρακτήρες πέρα του ASCII.
Πρέπει να χρησιμοποιήσεις κάποια τεχνική που επιδέχεται αλλαγή του charset, π.χ InputStreamReader.
Last edited by netharis on Fri Oct 03, 2008 3:46 am, edited 2 times in total.
Image
Resistance is futile. Join the foss-side now!
"UNIX is very simple, it just needs a genius to understand its simplicity." - Dennis Ritchie
"The things that I want, by Max Payne. A smoke. A whiskey. For the sun to shine. I want to sleep, to forget. To change the past. Unlimited ammo and a license to kill. But right then, more than anything, I wanted her."
User avatar
marios
Wow! Terabyte level
Wow! Terabyte level
Posts: 2810
Joined: Wed Sep 26, 2007 3:44 pm
Academic status: Alumnus/a
Gender:
Location: Μεταξύ φθοράς και αφθαρσίας

Re: Ερώτηση σε Java για char-Ascii

Post by marios » Wed Oct 01, 2008 9:39 am

Thanks FOX!!!
Μην κλαις επειδή τελείωσε. Χαμογέλα επειδή συνέβη- G.G.M.
Η μεγαλύτερη ευτυχία είναι να ξέρεις την πηγή της δυστυχίας-F.D.
Η μουσική εκφράζει αυτά που δεν μπορούν να ειπωθούν και που είναι αδύνατο να μείνουν στη σιωπή-V.H.
Πίστη στην πρόοδο, δεν σημαίνει και πίστη στο ότι έχει συμβεί κάποια πρόοδος-F.K.
Χωρίς μουσική, η ζωή θα ήταν ένα λάθος-F.N
Post Reply

Return to “Προγραμματισμός”