πχ το 32 στο δεκαδικο αν συνεχισουμε απο εκει που εμεινες ειναι το 30 στο 16-δικο

Τα 2 pdf έχουν ιδιο αριθμο απο bytes οπως λες επειδη ειναι ιδιας major εκδοσης ετσι? 1.2.... 1.3 etc..
Ο δικος σου ειναι hex editor ή μονο viewer?
Συντονιστής: konnn
migf1 έγραψε:Α, ok
ΥΓ. Μόνο viewer (προς το παρόν)
;00
;!00
;!FFFF
:A1C0E9
/* -----------------------------------
* Color related Custom Types
* -----------------------------------
*/
#define VALID_SKINID(id) ( (id) > SKINID_ERROR && (id) < MAXSKINS )
enum SkinId {
SKINID_ERROR = -1,
SKINID_NOCOLOR = 0,
SKINID_BLACK,
SKINID_GRAY,
SKINID_RED,
SKINID_BLUE,
MAXSKINS
};
typedef struct SkinItemColors {
#if defined( CON_COLOR_WIN32 ) /* Windows COLORS are unisgned int === */
unsigned int fg;
unsigned int bg;
#elif defined( CON_COLOR_ANSI ) /* ANSI COLORS are c-strings ========= */
char fg[ CONOUT_CLRSZ ];
char bg[ CONOUT_CLRSZ ];
#endif
} SkinItemColors;
typedef struct Skin {
enum SkinId id; /* skin id */
SkinItemColors normal; /* normal item colors (fg & bg) */
SkinItemColors bold; /* bold item colors (fg & bg) */
SkinItemColors progname; /* program-name colors (fg & bg) */
SkinItemColors msg; /* plain message colors (fg & bg) */
SkinItemColors warnmsg; /* warning-message colors (fg & bg) */
SkinItemColors errmsg; /* error-message colors (fg & bg) */
SkinItemColors rowofst; /* row-offset colors (fg & bg) */
SkinItemColors bytcurr; /* current byte colors (fg & bg) */
SkinItemColors bytprt1; /* printable byte colors (fg & bg) */
SkinItemColors bytprt0; /* non-printable byte colors (fg & bg) */
SkinItemColors bytzero; /* zeroed byte colors (fg & bg) */
SkinItemColors inffname; /* current filename info-colors (fg&bg)*/
SkinItemColors infpg; /* current page pos info-colors (fg&bg)*/
SkinItemColors infchrset; /* current charset info-colors (fg&bg)*/
SkinItemColors infbytpos; /* current byte pos info-colors (fg&bg)*/
SkinItemColors infrowpos; /* current row pos info-colors (fg&bg)*/
SkinItemColors infdec8; /* curr byte 8bit-decimal-val info-clrs*/
SkinItemColors infoct8; /* curr byte 8bit-octal-val info-colors*/
SkinItemColors infbin8; /* curr byte 8bit-binary-val info-colrs*/
SkinItemColors infsepar1; /* separator#1 info-colors (fg&bg)*/
SkinItemColors infsepar2; /* separator#2 info-colors (fg&bg)*/
SkinItemColors infsepar3; /* separator#3 info-colors (fg&bg)*/
SkinItemColors infsepar4; /* separator#4 info-colors (fg&bg)*/
SkinItemColors prompt; /* prompt main colors (fg & bg)*/
SkinItemColors pmtprevcmd; /* prompt prev-command colors (fg & bg)*/
} Skin;
/*********************************************************//**
*
*************************************************************
*/
bool skin_set_black( Skin *skin )
{
if ( !skin )
return false;
skin->id = SKINID_BLACK;
/* normal item */
CONOUT_CPYCLR( skin->normal.fg, FG_GRAY );
CONOUT_CPYCLR( skin->normal.bg, BG_BLACK );
/* emphasized-item (mostly used in the Help screen) */
CONOUT_CPYCLR( skin->bold.fg, FG_WHITE );
CONOUT_CPYCLR( skin->bold.bg, BG_BLACK );
/* messages */
CONOUT_CPYCLR( skin->msg.fg, FG_GREEN ); /* plain */
CONOUT_CPYCLR( skin->msg.bg, skin->normal.bg);
CONOUT_CPYCLR( skin->warnmsg.fg, FG_YELLOW ); /* warnings */
CONOUT_CPYCLR( skin->warnmsg.bg, skin->normal.bg);
CONOUT_CPYCLR( skin->errmsg.fg, FG_RED ); /* errors */
CONOUT_CPYCLR( skin->errmsg.bg, skin->normal.bg);
/* table headings (col-indices & row-offsets) */
CONOUT_CPYCLR( skin->rowofst.fg, FG_CYAN );
CONOUT_CPYCLR( skin->rowofst.bg, skin->normal.bg);
/* table data (hex & ascii panes) */
CONOUT_CPYCLR( skin->bytcurr.fg, FG_MAGENTA ); /* curr byte */
CONOUT_CPYCLR( skin->bytcurr.bg, skin->normal.bg);
CONOUT_CPYCLR( skin->bytprt1.fg, skin->normal.fg ); /* printable */
CONOUT_CPYCLR( skin->bytprt1.bg, skin->normal.bg);
CONOUT_CPYCLR( skin->bytprt0.fg, FG_DARKYELLOW ); /* no-printable*/
CONOUT_CPYCLR( skin->bytprt0.bg, skin->normal.bg);
CONOUT_CPYCLR( skin->bytzero.fg, FG_DARKGRAY ); /* zeroed byte */
CONOUT_CPYCLR( skin->bytzero.bg, skin->normal.bg);
/* 1st info-line */
CONOUT_CPYCLR( skin->inffname.fg, FG_WHITE ); /* fname & sz*/
CONOUT_CPYCLR( skin->inffname.bg, BG_DARKBLUE);
CONOUT_CPYCLR( skin->infpg.fg, FG_CYAN ); /* page pos */
CONOUT_CPYCLR( skin->infpg.bg, BG_DARKBLUE );
CONOUT_CPYCLR( skin->infchrset.fg, FG_WHITE ); /* char-set */
CONOUT_CPYCLR( skin->infchrset.bg, BG_DARKBLUE );
CONOUT_CPYCLR( skin->progname.fg, FG_WHITE ); /* prog name */
CONOUT_CPYCLR( skin->progname.bg, BG_DARKBLUE);
/* 2nd info-line (includes the prompt) */
CONOUT_CPYCLR( skin->infbytpos.fg, FG_WHITE ); /* byte pos */
CONOUT_CPYCLR( skin->infbytpos.bg, BG_DARKMAGENTA );
CONOUT_CPYCLR( skin->infrowpos.fg, FG_GRAY ); /* row pos */
CONOUT_CPYCLR( skin->infrowpos.bg, BG_DARKMAGENTA );
CONOUT_CPYCLR( skin->infdec8.fg, FG_WHITE ); /* 8bits dec */
CONOUT_CPYCLR( skin->infdec8.bg, BG_DARKMAGENTA );
CONOUT_CPYCLR( skin->infoct8.fg, FG_WHITE ); /* 8bits oct */
CONOUT_CPYCLR( skin->infoct8.bg, BG_DARKMAGENTA );
CONOUT_CPYCLR( skin->infbin8.fg, FG_WHITE ); /* 8bits bin */
CONOUT_CPYCLR( skin->infbin8.bg, BG_DARKMAGENTA );
/* prompt (included in 2nd info-line) */
CONOUT_CPYCLR( skin->pmtprevcmd.fg, FG_WHITE ); /* prev cmd */
CONOUT_CPYCLR( skin->pmtprevcmd.bg, skin->normal.bg);
CONOUT_CPYCLR( skin->prompt.fg, skin->normal.fg ); /* prompt */
CONOUT_CPYCLR( skin->prompt.bg, skin->normal.bg);
/* separator groups (for up to 2 info-lines) */
CONOUT_CPYCLR( skin->infsepar1.fg, skin->normal.fg ); /* line#1 grp-1*/
CONOUT_CPYCLR( skin->infsepar1.bg, BG_DARKBLUE );
CONOUT_CPYCLR( skin->infsepar2.fg, FG_DARKBLUE ); /* line#1 grp-2*/
CONOUT_CPYCLR( skin->infsepar2.bg, BG_DARKBLUE );
CONOUT_CPYCLR( skin->infsepar3.fg, FG_DARKGRAY ); /* line#2 grp-1*/
CONOUT_CPYCLR( skin->infsepar3.bg, BG_DARKMAGENTA );
CONOUT_CPYCLR( skin->infsepar4.fg, skin->normal.fg ); /* line#2 grp-2*/
CONOUT_CPYCLR( skin->infsepar4.bg, skin->normal.bg );
return true;
}
Console HexViewer
=================
Brief:
Console hex-viewer, written in standard C99 (compiles & runs on any platform).
Features:
- unlimited filesizes (optionally, by default it uses a 2Gb limit, for faster loading times)
- multilingual (currently in English & Greek)
- syntax highlighting (printable, non-printable & zeroed bytes)
- color themes (currently: black, blue, red, gray)
- 8-bit ASCII support (adopts to any ASCII compatible encoding, including ANSI and UTF-8)
- byte groups (view contents grouped by 4, 8 or 16 bytes)
- sizes (base2/8/10/16 display, in both endians, for any 8/16/32/64bit area)
- bookmarks (up to 16 bookmarks, used either by label or by id)
- moving (absolute & relative moving to any byte/row/page)
- jumping (direct jump to start & end of current file/page/row)
- normal search (bi-directional search for either hex or ascii strings)
- negated search (bi-directional skipping of consecutive. same bytes or byte sequences)
- endianess conversion (conversion & saving of selected contents, as binary or as hexdumps)
- shell access (access to system's shell/command-line)
- repeat last command (by hitting the ENTER key... a simple but rather useful gimmick)
- pageable help
migf1 έγραψε:Νέα έκδοση (και τελευταία, τουλάχιστιον προς το παρόν και το εγγύς μέλλον) στο 1ο ποστ του παρόντος νήματος. Λίαν λειτουργική
Bug reports (πέρα από αυτά που αναφέρονται στην τεκμηρίωση) ευπρόσδεκτα.
Ο κώδικας σε πολλά σημεία είναι σε κατάσταση "1st draft".