Στο σύστημα αρχείων μου (Windows 7) έχω κάποια αρχεία κειμένου (Πρόκειται για αρχεία σεναρίων SQL, αν αυτό έχει σημασία).
Όταν ανοίγουν με το Notepad++, στο μενού "Κωδικοποίηση" μερικά από αυτά αναφέρεται ότι έχουν κωδικοποίηση "UCS-2 Little Endian" και μερικά "UTF-8 χωρίς BOM".
Ποια είναι η διαφορά εδώ; Όλα φαίνονται να είναι απολύτως έγκυρα σενάρια. Πώς θα μπορούσα να καταλάβω τι κωδικοποιήσεις έχουν τα αρχεία χωρίς το Notepad++;
Τα αρχεία γενικά υποδεικνύουν την κωδικοποίησή τους με μια επικεφαλίδα αρχείου. Υπάρχουν πολλά παραδείγματα εδώ. Ωστόσο, ακόμα και αν διαβάσετε την επικεφαλίδα δεν μπορείτε ποτέ να είστε σίγουροι για την πραγματική κωδικοποίηση που χρησιμοποιεί ένα αρχείο.
Για παράδειγμα, ένα αρχείο με τα τρία πρώτα bytes 0xEF,0xBB,0xBF
είναι πιθανότατα ένα αρχείο με κωδικοποίηση UTF-8. Ωστόσο, μπορεί να είναι ένα αρχείο ISO-8859-1 το οποίο τυχαίνει να αρχίζει με τους χαρακτήρες 
. Ή μπορεί να είναι ένας τελείως διαφορετικός τύπος αρχείου.
Το Notepad++ κάνει ό,τι μπορεί για να μαντέψει ποια κωδικοποίηση χρησιμοποιεί ένα αρχείο και τις περισσότερες φορές τα καταφέρνει σωστά. Μερικές φορές όμως κάνει λάθος - γι' αυτό υπάρχει το μενού 'Κωδικοποίηση', ώστε να μπορείτε να παρακάμψετε την καλύτερη δυνατή εικασία του.
Για τις δύο κωδικοποιήσεις που αναφέρετε:
0xFF,0xFE
ως τα 2 πρώτα bytes. Από ό, τι μπορώ να πω, το Notepad++ τα περιγράφει ως "UCS-2" αφού δεν υποστηρίζει ορισμένες πτυχές του UTF-16.Δεν μπορείτε. Αν μπορούσατε να το κάνετε αυτό, δεν θα υπήρχαν τόσοι πολλοί ιστότοποι ή αρχεία κειμένου με "τυχαίες ασυναρτησίες" εκεί έξω. Αυτός είναι ο λόγος για τον οποίο η κωδικοποίηση αποστέλλεται συνήθως μαζί με το ωφέλιμο φορτίο ως μεταδεδομένα.
Σε περίπτωση που δεν είναι, το μόνο που μπορείτε να κάνετε είναι μια "έξυπνη εικασία", αλλά το αποτέλεσμα είναι συχνά διφορούμενο, καθώς η ίδια ακολουθία byte μπορεί να είναι έγκυρη σε διάφορες κωδικοποιήσεις.