I file in genere indicano la loro codifica con un'intestazione di file. Esistono molti esempi qui . Tuttavia, anche leggendo l'intestazione non puoi mai essere sicuro di quale codifica si stia effettivamente utilizzando un file .
Ad esempio, un file con i primi tre byte 0xEF,0xBB,0xBF
è probabilmente un file con codifica UTF-8. Tuttavia, potrebbe trattarsi di un file ISO-8859-1 che inizia con i caratteri 
. Oppure potrebbe essere completamente un tipo di file diverso.
Notepad ++ fa del suo meglio per indovinare la codifica utilizzata da un file, e nella maggior parte dei casi riesce a farlo correttamente. A volte capita male, ecco perché il menu 'Encoding' è lì, quindi puoi ignorare la sua ipotesi migliore.
Per le due codifiche che hai citato:
- I file "UCS-2 Little Endian" sono file UTF-16 (basati su ciò che ho capito dalle informazioni qui ) quindi probabilmente inizia con
0xFF,0xFE
come i primi 2 byte. Da quello che posso dire, Notepad ++ li descrive come "UCS-2" dal momento che non supporta alcuni aspetti di UTF-16.
- I file "UTF-8 senza BOM" non hanno byte di intestazione. Questo è ciò che significa il bit "senza BOM".