Page 1 of 1

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

Posted: Tue Sep 30, 2008 3:44 pm
by marios
Παίδες θέλω την βοήθεια σας:
Θέλω να έχω ένα κείμενο(στα ελληνικά), και μέσω του προγράμματος να το μετατρέπω σε ascii κωδικούς(π.χ. α=152 β=153 κλπ). Αυτό που έχω φτιάξει ενώ δουλεύει ok για αγγλικούς χαρκτήρες(κάνει cast στα char για να μου γυρίσει int), στα ελληνικά βγάζει άλλα ντ'άλλων... Καμία ιδέα;

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

Posted: Tue Sep 30, 2008 3:57 pm
by gasparosoft
Τι σου βγάζει;Νομίζω αν σου βγάζει για α=945 είναι σωστό.Γιατί από ότι θυμάμαι αυτή είναι η δεκαδική του "απεικόνιση".

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

Posted: Tue Sep 30, 2008 4:05 pm
by marios
Ισχύει αυτό που λες αλλά μου βγάζει άσχετα(65533)... Αντίθετα όταν τα διαβάζω κατ'ευθείαν σαν int και μετά τα κάνω char δεν έχει πρόβλημα... Αλλά εγώ χρειάζομαι char-->int και οχι int-->char :smt010 :smt010

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

Posted: Tue Sep 30, 2008 4:07 pm
by gasparosoft
Εμένα μου δουλεύει πάντως μια χαρά.

Code: Select all

----------------------
char c='α';
int i=(int)c;
System.out.println(i);
----------------------
945

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

Posted: Tue Sep 30, 2008 4:15 pm
by marios
Σε αυτό που μου έγραψες και εμένα οκ δουλεύει, όταν διαβάζει από το πληκτρολόγιο string και παίρνω το charAt και το κάνω int έχω το πρόβλημα...
Anyway, thanks!

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

Posted: Tue Sep 30, 2008 9:20 pm
by cyberpython
Μήπως παίζει κάτι με το codepage στο τερματικό σου;

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

Posted: Tue Sep 30, 2008 9:59 pm
by netharis
Δεν είναι Α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.

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

Posted: Wed Oct 01, 2008 9:39 am
by marios
Thanks FOX!!!