V mojom súborovom systéme (Windows 7) mám niekoľko textových súborov (ak na tom záleží, sú to súbory skriptov SQL).
Keď ich otvorím pomocou Notepad++, v ponuke "Encoding" sa pri niektorých z nich hlási kódovanie "UCS-2 Little Endian" a pri niektorých "UTF-8 bez BOM".
Aký je tu rozdiel? Zdá sa, že všetky sú úplne platné skripty. Ako by som mohol zistiť, aké kódovanie má súbor bez Poznámkového bloku++?
Súbory zvyčajne označujú svoje kódovanie pomocou hlavičky súboru. Existuje mnoho príkladov tu. Ani pri čítaní hlavičky si však nikdy nemôžete byť istí, aké kódovanie súbor skutočne používa**.
Napríklad súbor s prvými tromi bajtmi 0xEF,0xBB,0xBF
je pravdepodobne súbor s kódovaním UTF-8. Môže to však byť súbor ISO-8859-1, ktorý náhodou začína znakmi 
. Alebo to môže byť úplne iný typ súboru.
Poznámkový blok++ sa snaží odhadnúť, aké kódovanie súbor používa, a väčšinou sa mu to podarí. Niekedy sa však mýli - preto je tu ponuka 'Kódovanie', aby ste mohli zrušiť jeho najlepší odhad.
Pre dve kódovania, ktoré ste spomenuli:
0xFF,0xFE
ako prvé 2 bajty. Podľa toho, čo viem, Notepad++ ich opisuje ako "UCS-2", pretože nepodporuje určité aspekty UTF-16.Nemôžete. Keby ste to dokázali, nebolo by toľko webových stránok alebo textových súborov s "náhodnými blábolmi". Preto sa kódovanie zvyčajne posiela spolu s užitočným zaťažením ako metaúdaj.
V prípade, že nie je, jediné, čo môžete urobiť, je "inteligentný odhad", ale výsledok je často nejednoznačný, pretože tá istá postupnosť bajtov môže byť platná vo viacerých kódovaniach.