Du mußt schon selber wissen, oder der String ein
Ansi, UTF, oder sonst irgendein Stringformat hat und dementspechend mußt du dann auch die Funktionen auswählen
Bei Delphi ist ist z.B. der UTF8String indern auch nunr als eine Ableitung des AnsiStrings definiert, wodurch daher keine Programmseitige Unterscheidung möglich ist.
Ansi/Wide/UTF8/UTF16/UTF32.... das sind alles Stringformatierungsvarianten, dass heißt, das die alle die Zeichen in einem anderem Format speichern.