WideString ist immer mit der virtuellen Codepage 1200 (UTF-16), also
Unicode mit 2 Byte pro Char.
Der UnicodeString ist uch immer 1200, aber in 2009/2010 und in XE+, mit aktiviertem StringChecking wäre theoretisch auch was anderes möglich ... durch das kranke StringChecking, könnte man auch in einen UnicodeString
ANSI/
ASCII reinstopfen und in einen AnsiString UTF-16/
Unicode, ohne daß man was davon merkt, außer wenn man direkt auf den internen Speicher zugreifen will (Move, CopyMemory und Co.)