Delphi 2009 промени своя тип низ, за да използва 2 байта за представяне на знак, което позволява поддръжка на набори от символи в unicode. Сега, когато получите sizeof(string), получавате length(String) * sizeof(char). Sizeof(char) в момента е 2.
Това, което ме интересува, е дали някой знае за начин, по който на базата на символ по знак е възможно да се разбере дали ще се побере в един байт, например разберете дали символът е ascii или Unicode.
Това, което най-вече се интересувам да знам, е преди моят низ да отиде в база данни (oracle, Documentum) колко байта ще използва низът.
Трябва да можем да налагаме ограничения предварително и в идеалния случай (тъй като имаме голяма инсталирана база), без да се налага да променяме базата данни. Ако поле за низ позволява 12 байта, в delphi 2009 низ с дължина 7 винаги ще се показва като използващ 14 байта, въпреки че след като стигне до db, ще използва само 7, ако ascii или 14, ако е двоен байт, или някъде по средата, ако смес.