Estoy trabajando con datos binarios procedentes de un proveedor de servicios. Me suscribo a estos datos a través de una solicitud HTTP, usando C++. De vez en cuando, recibo una carga HTML de este proveedor. La carga útil es en realidad HTML datos binarios, que se ve así:Uso de datos binarios en la cadena C++
! ¦ô¿Âˤ ÍÌL? Àÿ Àÿ¥ š™©@ Àÿ Àÿ
o ! H·ô¿Âˤ ÍÌL? Àÿ333?¥ š™©@ Àÿff¦@
me gustaría hacer la simulación utilizando los datos que consigo. Para hacerlo, codigo los datos en una cadena y lanzo mi programa que usará esas cadenas.
std::string input = "! ¦ô¿Âˤ ÍÌL? Àÿ Àÿ¥ š™©@ Àÿ Àÿ"
El primer problema que tengo es que tengo a todos los caracteres como \n
. Pero no sé cómo escapar \0
por ejemplo. Además, tengo este mensaje de error, que puede ser debido al hecho de que yo no escapan a la final de caracteres de archivo correctamente:
Error 3 fatal error C1004: unexpected end-of-file found
Así que la pregunta principal es: ¿qué hace el fin-de- el carácter del archivo parece, y ¿cómo puedo escaparlo?
Entonces, ¿hay un comando de Linux o una manera de tomar datos binarios de un archivo binario, y escapar de todo el carácter especial con \
entonces simplemente copio y lo pego en mi código de C++.
Finalmente, me gustaría poner todas las diferentes cargas útiles que tengo, en un archivo binario, para que pueda iniciar mi simulación utilizando este archivo. El problema es que no sé cómo separar diferentes cargas útiles, ya que solo ir a la siguiente línea no servirá, ya que se interpretará como un carácter aleatorio (y la carga útil no tiene un tamaño de corrección). . No sé qué tipo de separador usar.
me gustaría almacenar las cargas útiles en un archivo, pero las costuras como si tuviera que poner diferentes cargas útiles en diferentes archivos, porque yo no sé qué separador de usar. ¿Sabes también si puedo obtener un script o un comando para obtener una matriz de caracteres de los datos binarios? Gracias – Arthur
+1 por almacenamiento de código hexadecimal ... No puedo votar sin embargo. Vale la pena no leer las encuestas de la comunidad por este motivo ... @jules, ¿no se puede almacenar la longitud en forma de 'porción', es decir, los primeros 4 bytes son la longitud de los datos, y al final de eso consiste en otro mensaje. Incluso podría encapsularlos con ID. – dcousens
y, por supuesto, usar un único argumento para el constructor de la cadena lo haría detenerse en el primer carácter nulo. – Benoit