Как известно, в Дельфи есть три типа строк: ShortString, AnsiString, WideString. С первым типом всё ясно: это старый, ещё турбопаскалевский тип, содержащий однобайтовые символы, имеющий фиксированную максимальную длину и фактически являющийся массивом. С WideString тоже в общем всё ясно: строка переменной длины, состоящая из двухбайтовых символов и физически размещаемая в динамической памяти, причём о выделении/освобождении памяти заботится компилятор без явного вмешательства программиста.
А вот AnsiString вызывает вопросы. Какая длина хранящихся в ней символов в байтах? Как соотносятся строки этого типа со стандартной однообайтовой ANSI-кодировкой и с юникодом? Что такое многобайтовые системы символов и с чем их едят?
Просьба знакомых с этой темой поделиться ссылками на вразумительные описания, касающиеся как Дельфи, так и FPC.