datei als hexcode speichern!
-
hi,
ist es möglich eine datei als hexcode zB. in einer char variable zu speichern, und später wieder zu einer richtigen datei zu speichern?
hexcode:
BE7E10410000000000000000E0000F010B01070A00F601000026040000000000565000000010000000F001000000D04A001000000002000005000100050001000400000000000000004006000004000077B8060003000080000010000000100000001000001000000000000010000000000000000000000000F601005000000000E00300B05A020000000000000000000000000000000000000000000000mfg
dein freund
-
In ein char passt dieser Text bestimmt nicht
Aber du kannst jeweils zwei Hex-Ziffern lesen und in eine Zahl umwandeln (und wieder zurück):vector<unsigned char> data; fstream file; char val[3]={0,0,0}; while(file.read(val,2)) { unsigned char ival = strtol(val,NULL,16); data.push_back(ival); } ... fstream file; file<<setfill('0')<<hex; for(int i=0;i<data.size();++i) file<<setw(2)<<(int)data[i];
-
ich hab hier n tool/programm das die datein einfach in ein grooooooßes array speichert, vll. hilft die idee weiter, weil das tool darf ich nich rausgeben
[EDIT] ich sag nur soviel, das tool legt eine cpp(inklusive h) file an mit einem cont unsigned char array und einer arraysizevariable und schreibt dann einfach die datei byte für byte in das array.
const long FILENAME_VERSION = 0x0000001; const unsigned long FILENAME_ARRAY_SIZE = xxxxxx; #pragma pack(push, 1) // 1 byte datenausrichtung const unsigned char FILENAME_ARRAY[FILENAME_ARRAY_SIZE] = { 12,36,77,0,2,0,0,0,4,0,55,0,255,255,0, ... ... // etwa 40k zeilen ... }; #pragma pack(pop) // pack pragma beenden //---- Headerfile extern const long FILENAME_ARRAY_VERSION; extern const unsigned long FILENAME_ARRAY_SIZE; extern const unsigned char FILENAME_ARRAY;allerdings sollte die datei dann nciht größer als 1MB sein, das kostet schon ordentlich zeit die datei zu öffnen
-