Es kommt auch darauf an, was du erreichen willst.
Klar ist jedoch, daß es keinen Algorithmus geben kann, welcher nahezu 100%ig den Zeichensatz erkennt.
Das zeigt ja schon eine andere einfache grobe Unterscheing:
(dieser Code soll da noch viel feiner/detailierter unterscheiden)
Ansi oder Unicode
In unserem Sprachraum könnte kann ja "einfach" sagen "kommen viele #0 an den geraden Byte-Positionen vor (mit 1-Indizierung gezählt), dann ist es
Unicode.
Aber damit würden dann vorallem die Strings mit asiatischen Texten alle als
Ansi erkannt.
Wenn du also eine "sichere" Unterscheidung brauchst und du die Texte selber erstellst oder deren Format festlegen kannst, dann ist die sicherste Methode, wenn man die Codepage (ihre Nummer oder einen Namen) zusammen mit diesem "Text" abspeichert.