Но, если вы хотите сохранить кучу из них, вы можете сдвинуть их побитно и сохранить их как один int, немного похоже на разрешения / режимы для файлов Unix.
Например, для режима 755 каждая цифра относится к разному классу пользователей: владелец, группа, общедоступный. Внутри каждой цифры 4 читается, 2 - запись, 1 - выполняется, поэтому 7 - все они, как двоичный файл 111. 5 читается и выполняется, так 101. Создайте свою собственную схему кодирования.
Я просто пишу что-то для хранения данных телепрограмм из Schedules Direct, и у меня есть двоичные поля или поля да / нет: стерео, hdtv, new, ei, с субтитрами, dolby, sap на испанском, премьера сезона. Таким образом, 7 бит или целое число с максимумом 127. Один символ на самом деле.
Пример C из того, над чем я сейчас работаю. has () - это функция, которая возвращает 1, если вторая строка находится в первой. inp является входной строкой для этой функции. misc - это неподписанный символ, инициализированный 0. 0. 1007 *
if (has(inp,"sap='Spanish'") > 0)
misc += 1;
if (has(inp,"stereo='true'") > 0)
misc +=2;
if (has(inp,"ei='true'") > 0)
misc +=4;
if (has(inp,"closeCaptioned='true'") > 0)
misc += 8;
if (has(inp,"dolby=") > 0)
misc += 16;
if (has(inp,"new='true'") > 0)
misc += 32;
if (has(inp,"premier_finale='") > 0)
misc += 64;
if (has(inp,"hdtv='true'") > 0)
misc += 128;
Таким образом, я храню 7 логических значений в одном целом числе с местом для большего количества.