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

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

Δημοσ.

Καλησπέρα, θέλω να φτιάξω ένα πρόγραμμα που μεταφράζει Windows 1253 σε UTF 8 είτε UTF 16.

Ο τελικός σκοπός είναι να φτιάξω ένα προγραμματάκι που θα αλλάζει αυτόματα την κωδικοποίηση σε υπότιτλους για να παίζουν σε τηλεόραση (UTF 16 LE).

Έχω φτιάξει μετατροπέα από UTF 8 σε 16 και αντίστροφα και δουλεύει μια χαρά για αγγλικά μιας και είναι σε UTF 8.

Σε ελληνικά υπάρχει το θέμα γιατί η κωδικοποίηση ειναι σε Windows 1253 και δεν βρίσκω τρόπο να το μετατρέψω.

 

Υπάρχει κάποια μετατροπή ή πρέπει να κάνω την "βρωμοδουλειά" να αντιστοιχίσω σύμφωνα με αυτό;

Link.png Site: Link

 

Σίγουρα θα υπάρχει εύκολη μέθοδος σε κάποιες γλώσσες αλλά δουλεύω σε C++.

 

Οποιοδήποτε hint καλοδεχούμενο!

Δημοσ.

Καλησπέρα, θέλω να φτιάξω ένα πρόγραμμα που μεταφράζει Windows 1253 σε UTF 8 είτε UTF 16.

Ο τελικός σκοπός είναι να φτιάξω ένα προγραμματάκι που θα αλλάζει αυτόματα την κωδικοποίηση σε υπότιτλους για να παίζουν σε τηλεόραση (UTF 16 LE).

Έχω φτιάξει μετατροπέα από UTF 8 σε 16 και αντίστροφα και δουλεύει μια χαρά για αγγλικά μιας και είναι σε UTF 8.

Σε ελληνικά υπάρχει το θέμα γιατί η κωδικοποίηση ειναι σε Windows 1253 και δεν βρίσκω τρόπο να το μετατρέψω.

 

Υπάρχει κάποια μετατροπή ή πρέπει να κάνω την "βρωμοδουλειά" να αντιστοιχίσω σύμφωνα με αυτό;

Link.png Site: Link

 

Σίγουρα θα υπάρχει εύκολη μέθοδος σε κάποιες γλώσσες αλλά δουλεύω σε C++.

 

Οποιοδήποτε hint καλοδεχούμενο!

 

Σε Python 3:

import sys

# use 'utf-8' for UTF-8 and 'utf-16-le' for UTF-16 LE
with open(sys.argv[1], 'r', encoding='cp1253') as fin, open(sys.argv[2], 'w', encoding='utf-16-le') as fout:
    fout.write(fin.read())

και python program.py <input-file.txt> <output-file.txt>

Γιατί να κάνεις κάτι τέτοιο σε C++, το καρφί στον τοίχο για να κρεμάσεις το κάδρο δεν το καρφώνεις με βαριοπούλα :D

  • Like 1
Δημοσ.

Είχα και γω ακριβώς το ίδιο πρόβλημα κάποτε, αλλά όσο κι αν σε τρώει δε χρειάζεται πρόγραμμα για να το κάνεις αυτό. Μη σου πώ μέχρι και με Notepad μπορείς να το κάνεις.

 

Σίγουρα με notepad++ ή sublime γίνεται manually μεν αλλά πανεύκολα (έτσι το κάνω και γω, αφού anyway θέλω να βγάλω και τα διαφημιστικά παράλληλα).

Δημοσ.

Είχα και γω ακριβώς το ίδιο πρόβλημα κάποτε, αλλά όσο κι αν σε τρώει δε χρειάζεται πρόγραμμα για να το κάνεις αυτό. Μη σου πώ μέχρι και με Notepad μπορείς να το κάνεις.

 

Σίγουρα με notepad++ ή sublime γίνεται manually μεν αλλά πανεύκολα (έτσι το κάνω και γω, αφού anyway θέλω να βγάλω και τα διαφημιστικά παράλληλα).

 

Στην πράξη τις περισσότερες φορές και γω Notepad++.

Δημοσ.

Σε Python 3:

import sys

# use 'utf-8' for UTF-8 and 'utf-16-le' for UTF-16 LE
with open(sys.argv[1], 'r', encoding='cp1253') as fin, open(sys.argv[2], 'w', encoding='utf-16-le') as fout:
    fout.write(fin.read())

και python program.py <input-file.txt> <output-file.txt>

Γιατί να κάνεις κάτι τέτοιο σε C++, το καρφί στον τοίχο για να κρεμάσεις το κάδρο δεν το καρφώνεις με βαριοπούλα :D

Αρχικά ευχαριστώ. Θέλω σε C/C++(Δεν έχει σημασία στο συγκεκριμένο) γιατί είχα φτιάξει τον μετατροπέα από πιο παλία και έλεγα να τον χρησιμοποιήσω για να κάνω κάτι πιο ολοκληρωμένο.

 

Είχα και γω ακριβώς το ίδιο πρόβλημα κάποτε, αλλά όσο κι αν σε τρώει δε χρειάζεται πρόγραμμα για να το κάνεις αυτό. Μη σου πώ μέχρι και με Notepad μπορείς να το κάνεις.

 

Σίγουρα με notepad++ ή sublime γίνεται manually μεν αλλά πανεύκολα (έτσι το κάνω και γω, αφού anyway θέλω να βγάλω και τα διαφημιστικά παράλληλα).

Και με το notepad γίνεται αρκεί να κάνεις Save As με κωδικοποίηση Unicode(aka για τον υπόλοιπο κόσμο UTF 16 LE).

Το θέμα είναι ότι σκεφτόμου να φτιάξω ένα προγραμματάκι που θα κάνει την αλλάγη κωδικοποίησης και ονόματος "αυτόματα" γιατί ξέρω πολύ κόσμο φιλικό και γενικότερα που επειδή δεν ξέρει να κάνει 5 απλά βήματα δεν βλέπει ταινία στην τηλεόραση του σαλονιού και κάθεται στην κλάσσεις κατώτερη του PC-Laptop.

Δημοσ.

Το θέμα είναι ότι σκεφτόμου να φτιάξω ένα προγραμματάκι που θα κάνει την αλλάγη κωδικοποίησης και ονόματος "αυτόματα" γιατί ξέρω πολύ κόσμο φιλικό και γενικότερα που επειδή δεν ξέρει να κάνει 5 απλά βήματα δεν βλέπει ταινία στην τηλεόραση του σαλονιού και κάθεται στην κλάσσεις κατώτερη του PC-Laptop.

 

Well τότε θα πρέπει να είσαι πάρα πάρα πολύ προσεκτικός για να μην έχει καθόλου library dependencies αυτό που θα κάνεις (ακόμα και τη C runtime library statically link κλπ). Επίσης, δεν πιστεύω να προορίζεις command line πρόγραμμα για κόσμου που δεν ξέρει να κάνει 5 απλά βήματα;  ;)

  • Like 2
Δημοσ.

Well τότε θα πρέπει να είσαι πάρα πάρα πολύ προσεκτικός για να μην έχει καθόλου library dependencies αυτό που θα κάνεις (ακόμα και τη C runtime library statically link κλπ). Επίσης, δεν πιστεύω να προορίζεις command line πρόγραμμα για κόσμου που δεν ξέρει να κάνει 5 απλά βήματα;  ;)

Ο σκοπός είναι να φτιαχτεί αρχικά επιλογή στο context menu των windows και να βγάζει το αρχείο σε ένα default όνομα πχ output.srt και ίσως αργότερα να ανοίγει prompt που πρέπει να διαλέξει ο χρήστης την ταινία/σειρά/whatever και τους υπότιτλους και να γίνεται και η αλλαγή ονόματος. Όλα αυτά είναι υποθετικά και στο μυαλό μου μιας και ακόμα δεν έχω τις απαραίτητες γνώσεις αλλά προτίθεμαι να ψάξω.

  • Like 1
Δημοσ.

Άμα θες να το χρησιμοποιήσουν και τρίτοι, κάνε μία απλή web εφαρμογή. Μία φόρμα, ανεβάζει το srt, κατεβάζει το νέο srt και τέλος.

Για να μην κουράζεις τους φίλους σου δε, μπορείς και να δέχεσαι στη φόρμα και zip και να επιστρέψεις zip

 

 

Edit

 

Και όπως είναι φυσικά προφανές υπάρχουν ήδη αντίστοιχα sites

https://www.google.gr/search?q=change+file+encoding+online&oq=change+encoding+online

  • Like 2
Δημοσ.

Ο σκοπός είναι να φτιαχτεί αρχικά επιλογή στο context menu των windows και να βγάζει το αρχείο σε ένα default όνομα πχ output.srt και ίσως αργότερα να ανοίγει prompt που πρέπει να διαλέξει ο χρήστης την ταινία/σειρά/whatever και τους υπότιτλους και να γίνεται και η αλλαγή ονόματος. Όλα αυτά είναι υποθετικά και στο μυαλό μου μιας και ακόμα δεν έχω τις απαραίτητες γνώσεις αλλά προτίθεμαι να ψάξω.

Εφοσον εισαι σε wins https://msdn.microsoft.com/en-us/library/windows/desktop/dd319072(v=vs.85).aspx δες και την reverse εκδοχη.

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

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

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

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

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

Σύνδεση

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

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