Название: QStringList in bytes Отправлено: thechicho от Ноябрь 08, 2011, 13:55 как узнать размер в байтах? или он какой-то стандартный идет?
Название: Re: QStringList in bytes Отправлено: LisandreL от Ноябрь 08, 2011, 14:14 Что значит размер в байтах? Общий объём занимаемой памяти всеми элементами или что?
Название: Re: QStringList in bytes Отправлено: thechicho от Ноябрь 08, 2011, 15:11 ну в байтах же память и измеряется.
да, общий объём занимаемой памяти всеми элементами, как узнать можно Название: Re: QStringList in bytes Отправлено: kambala от Ноябрь 08, 2011, 15:21 наверное так:
Код
Название: Re: QStringList in bytes Отправлено: LisandreL от Ноябрь 08, 2011, 15:33 наверное так: Совсем неправильно. В QString символы хранятся в 16-ти битном виде, да и сами внутренние структуры QList и QString что-то да весят.Код
Название: Re: QStringList in bytes Отправлено: kambala от Ноябрь 08, 2011, 16:19 я так понимаю ТС хочет узнать именно размер данных, а не переменных (для последнего должен подойти sizeof). латинские символы реально используют лишь 1 байт, а не 2, а toUtf8() это учитывает если не ошибаюсь. но если использовать принудительно 16 бит, тогда total += s.length() * 2;
Название: Re: QStringList in bytes Отправлено: LisandreL от Ноябрь 08, 2011, 18:27 я так понимаю ТС хочет узнать именно размер данных Я переспрашивал выше. Он ответил общий объём.для последнего должен подойти sizeof sizeof c указателями? Не прокатит.латинские символы реально используют лишь 1 байт, а не 2, а toUtf8() это учитывает если не ошибаюсь Цитировать UTF-16 там, а не UTF-8:QString stores a string of 16-bit QChars, where each QChar corresponds one Unicode 4.0 character. (Unicode characters with code values above 65535 are stored using surrogate pairs, i.e., two consecutive QChars.) так что латинские занимают 2 байта (а не 1), а некоторые экзотические символы - 4 байта. |