¿Por qué los bytes del búfer de protocolo son cadenas en c ++?

búfer de protocolo decir que puedeContiene cualquier secuencia arbitraria de bytes.. pero si mis datos contienen '\ 0', cómo el búfer del protocolo puede codificar mis datos completos desde una variable de cadena.