📄 encode.cpp
字号:
#include "stdafx.h"
#include "encode.h"
#define ENCODE_BUFFER_SIZE 256
static char _encode_table[] = {
'\000', '\001', '\002', '\003', '\004', '\005', '\006', '\007',
'\010', '\011', '\012', '\013', '\014', '\015', '\016', '\017',
'\020', '\021', '\022', '\023', '\024', '\025', '\026', '\027',
'\030', '\031', '\032', '\033', '\034', '\035', '\036', '\037',
'<' , '\\' , 'A' , 'r' , ' ' , 'N' , ')' , '=' ,
']' , 'F' , '@' , '3' , '>' , '+' , 'M' , '(' ,
'G' , '[' , 'j' , 'q' , 'L' , 'S' , '*' , 'R' ,
'V' , '0' , 'B' , 'i' , 'd' , 'e' , 's' , 't' ,
'%' , 'W' , '4' , 'h' , '!' , '5' , 'f' , 'u' ,
'H' , 'E' , 'C' , 'c' , 'g' , '6' , '"' , 'Q' ,
'l' , 'a' , 'k' , '&' , 'K' , 'T' , 'w' , 'v' ,
'$' , 'I' , 'b' , 'J' , 'U' , '#' , ',' , '\'' ,
'm' , 'X' , 'D' , 'p' , 'Z' , '`' , 'x' , 'P' ,
'}' , 'n' , '9' , '{' , '1' , 'O' , '7' , '-' ,
'^' , ';' , 'o' , '2' , '/' , '.' , 'y' , '8' ,
'|' , '_' , 'Y' , '~' , '?' , ':' , 'z' , '\177',
'\200', '\201', '\202', '\203', '\204', '\205', '\206', '\207',
'\210', '\211', '\212', '\213', '\214', '\215', '\216', '\217',
'\220', '\221', '\222', '\223', '\224', '\225', '\226', '\227',
'\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237',
'\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247',
'\250', '\251', '\252', '\253', '\254', '\255', '\256', '\257',
'\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267',
'\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277',
'\300', '\301', '\302', '\303', '\304', '\305', '\306', '\307',
'\310', '\311', '\312', '\313', '\314', '\315', '\316', '\317',
'\320', '\321', '\322', '\323', '\324', '\325', '\326', '\327',
'\330', '\331', '\332', '\333', '\334', '\335', '\336', '\337',
'\340', '\341', '\342', '\343', '\344', '\345', '\346', '\347',
'\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357',
'\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367',
'\370', '\371', '\372', '\373', '\374', '\375', '\376', '\377'
};
static char _decode_table[] = {
'\000', '\001', '\002', '\003', '\004', '\005', '\006', '\007',
'\010', '\011', '\012', '\013', '\014', '\015', '\016', '\017',
'\020', '\021', '\022', '\023', '\024', '\025', '\026', '\027',
'\030', '\031', '\032', '\033', '\034', '\035', '\036', '\037',
'$' , 'D' , 'N' , ']' , 'X' , '@' , 'S' , '_' ,
'/' , '&' , '6' , '-' , '^' , 'o' , 'u' , 't' ,
'9' , 'l' , 's' , '+' , 'B' , 'E' , 'M' , 'n' ,
'w' , 'j' , '}' , 'q' , ' ' , '\'' , ',' , '|' ,
'*' , '"' , ':' , 'J' , 'b' , 'I' , ')' , '0' ,
'H' , 'Y' , '[' , 'T' , '4' , '.' , '%' , 'm' ,
'g' , 'O' , '7' , '5' , 'U' , '\\' , '8' , 'A' ,
'a' , 'z' , 'd' , '1' , '!' , '(' , 'p' , 'y' ,
'e' , 'Q' , 'Z' , 'K' , '<' , '=' , 'F' , 'L' ,
'C' , ';' , '2' , 'R' , 'P' , '`' , 'i' , 'r' ,
'c' , '3' , '#' , '>' , '?' , 'G' , 'W' , 'V' ,
'f' , 'v' , '~' , 'k' , 'x' , 'h' , '{' , '\177',
'\200', '\201', '\202', '\203', '\204', '\205', '\206', '\207',
'\210', '\211', '\212', '\213', '\214', '\215', '\216', '\217',
'\220', '\221', '\222', '\223', '\224', '\225', '\226', '\227',
'\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237',
'\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247',
'\250', '\251', '\252', '\253', '\254', '\255', '\256', '\257',
'\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267',
'\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277',
'\300', '\301', '\302', '\303', '\304', '\305', '\306', '\307',
'\310', '\311', '\312', '\313', '\314', '\315', '\316', '\317',
'\320', '\321', '\322', '\323', '\324', '\325', '\326', '\327',
'\330', '\331', '\332', '\333', '\334', '\335', '\336', '\337',
'\340', '\341', '\342', '\343', '\344', '\345', '\346', '\347',
'\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357',
'\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367',
'\370', '\371', '\372', '\373', '\374', '\375', '\376', '\377'
};
const char * map_encode(const char * dat)
{
static char buf[ENCODE_BUFFER_SIZE];
register char * cp = & buf[0];
if (dat != (const char *) 0)
while (* dat && cp < & buf[ENCODE_BUFFER_SIZE-1])
* cp++ = _encode_table[(unsigned char)(* dat++)];
* cp = '\0';
return buf;
}
const char * map_decode(const char * dat)
{
static char buf[ENCODE_BUFFER_SIZE];
register char * cp = & buf[0];
if (dat != (const char *) 0)
while (* dat && cp < & buf[ENCODE_BUFFER_SIZE-1])
* cp++ = _decode_table[(unsigned char)(* dat++)];
*cp = '\0';
return buf;
}
const char * hex_encode(const char * dat)
{
static char buf[2 * ENCODE_BUFFER_SIZE];
int i, j, len;
len = strlen(dat);
for(i = j = 0; i < len && j < 2 * ENCODE_BUFFER_SIZE; i++, j += 2) {
sprintf(buf+j, "%X", (unsigned char)(dat[i]));
}
buf[j] = '\0';
return buf;
}
const char * hex_decode(const char * dat)
{
static char buf[ENCODE_BUFFER_SIZE], tmp[3];
int i, j, len;
len = strlen(dat); tmp[2] = '\0';
for(i = j = 0; i < len && j < ENCODE_BUFFER_SIZE; i += 2, j++) {
tmp[0] = dat[i]; tmp[1] = dat[i+1];
buf[j] = (int)strtol(tmp, (char **)NULL, 16);
}
buf[j] = '\0';
return buf;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -