Сделайте это:
char data_bytes[] = { '0', '0', '1', '1', '0', '0', '3', '3', '\0'};
std::string header(data_bytes, 8);
Или, может быть, вы хотите сделать это:
std::stringstream s;
s << data_bytes;
std::string header = s.str();
Демонстрация на ideone: http://ideone.com/RzrYY
EDIT:
Последний \0
в data_bytes необходим. Также посмотрите этот интересный вывод здесь: http://ideone.com/aYtlL
PS: я не знал этого раньше, благодаря Ашот Я узнал эту разницу, экспериментируя!