Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Θα ήθελα την βοήθεια όσων γνωρίζουν στην μετατροπή byte[] array σε ελληνική λέξη.

Μέχρι τώρα δεν είχα πρόβλημα με τους αγγλικούς χαρακτήρες με την παρακάτω μέθοδο

 

byte[] barray =new byte[] { 0xEC, 0xE5, 0xF4, 0xDC, 0xE4, 0xEF, 0xF3, 0xE7 };
for (int i = 0; i < barray.Length; i++)
{
        textBox38.Text +=  (char)barray[i];
}

 

Το ζητούμενο είναι να εμφανιστεί στο textbox38 Η λέξη "μετάδοση".

Επεξ/σία από jojor
Δημοσ.

Μήπως μπορείς να γίνεις πιο συγκεκριμένος ??

Κάτι τέτοιο ??

Encoding enc=Encoding.GetEncoding(1253);
string str = encoding.GetString(barray);
Δημοσ.

Δεν γνωρίζω σε τι encoding έρχεται η πληροφορία. Έρχεται μέσα από stream δορυφορικού δέκτη.

Πως μπορώ να το ελέγξω αυτό ??

Δημοσ.

Σίγουρα δεν υπάρχει δορυφορικό encoding ...

Απλά ανέφερα την πηγή.

Από το παράδειγμα όμως που δίνω που το EC αντιστοιχεί στο "μ" δεν μπορεί να εξαχθεί κανένα συμπέρασμα περί του χρησιμοποιούμενου encoding ??

Δημοσ.

Από εδώ φαίνεται ότι μάλλον έχουμε encoding windows 1253. Στο 737 δεν υπάρχει η αντιστοιχία που ανέφερα.

Συνεπώς πρέπει αν γίνει έτσι ??

byte[] barray =new byte[] { 0xEC, 0xE5, 0xF4, 0xDC, 0xE4, 0xEF, 0xF3, 0xE7 };
Encoding enc=Encoding.GetEncoding("windows-1253");
string str = encoding.GetString(barray);
Δημοσ.

Αν προσθεσεις 48 σε καθε byte

byte[] barray = new byte[] { 0xBC+48, 0xB5+48, 0xC4+48, 0xAC+48, 0xB4+48, 0xBF+48, 0xC3+48, 0xB7+48 };
string str= Encoding.GetEncoding(1253).GetString(barray);
Console.WriteLine(str); //μετάδοση
  • Like 1
Δημοσ.

@albNik

Τελικά αυτό ήταν !!!!!!!!!

Μπορώ να ρωτήσω γιατί πρέπει να προσθέτουμε το 48 ???

No idea. Ισως να εγινε λαθος κατα το encoding. 

 

O χαρακτήρας '0' εχει τιμή 48.

Θυμιζει μετατροπη digit ce char 

int d = c-'0'; 

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...