📄 code.h
字号:
//Judge to which kind of char set a character belongs#ifndef __ENCODE_H__#define __ENCODE_H__#ifdef __cplusplusextern "C" {#endif//======================================================================//from jin:gbk_big5.h//======================================================================#define GB2312_CHN_CHAR_NUM 6768#define GB2312_SYM_HIMIN 0xA1 /* GB symbol : minmum value of first byte */#define GB2312_SYM_HIMAX 0xF7 /* GB symbol : maxmum value of first byte */#define GB2312_SYM_LOMIN 0xA1 /* GB symbol : minmum value of second byte */#define GB2312_SYM_LOMAX 0xFE /* GB symbol : maxmum value of second byte */#define GB2312_CHAR_HIMIN 0xB0 /* GB char : min - 1st byte */#define GB2312_CHAR_HIMAX 0xF7 /* GB char : max - 1st byte */#define GB2312_CHAR_LOMIN 0xA1 /* GB char : min - 2nd byte */#define GB2312_CHAR_LOMAX 0xFE /* GB char : max - 2nd byte */#define GB2312_MARK_HIMIN 0xA1 /* GB mark : min - 1st byte */#define GB2312_MARK_HIMAX 0xAF /* GB mark : max - 1st byte */#define GB2312_MARK_LOMIN 0xA1 /* GB mark : min - 2nd byte */#define GB2312_MARK_LOMAX 0xFE /* GB mark : max - 2nd byte *///========================================================================#define GBK_CHN_CHAR_NUM ((0xfe-0x81+1)*(0xfe-0x40+1))#define GBK_SYM_HIMIN 0x81 /* GBK symbol : minmum value of first byte */#define GBK_SYM_HIMAX 0xFE /* GBK symbol : maxmum value of first byte */#define GBK_SYM_LOMIN 0x40 /* GBK symbol : minmum value of second byte */#define GBK_SYM_LOMAX 0xFE /* GBK symbol : maxmum value of second byte */#define GBK_CHAR_HIMIN 0xB0 /* GB 2312 char : min - 1st byte */#define GBK_CHAR_HIMAX 0xF7 /* GB 2312 char : max - 1st byte */#define GBK_CHAR_LOMIN 0xA1 /* GB 2312 char : min - 2nd byte */#define GBK_CHAR_LOMAX 0xFE /* GB 2312 char : max - 2nd byte */#define GBK_CHAR1_HIMIN 0x81 /* GBK 1 char : min - 1st byte */#define GBK_CHAR1_HIMAX 0xA0 /* GBK 1 char : max - 1st byte */#define GBK_CHAR1_LOMIN 0x40 /* GBK 1 char : min - 2nd byte */#define GBK_CHAR1_LOMAX 0xFE /* GBK 1 char : max - 2nd byte */#define GBK_CHAR2_HIMIN 0xAA /* GBK 2 char : min - 1st byte */#define GBK_CHAR2_HIMAX 0xFE /* GBK 2 char : max - 1st byte */#define GBK_CHAR2_LOMIN 0x40 /* GBK 2 char : min - 2nd byte */#define GBK_CHAR2_LOMAX 0xA0 /* GBK 2 char : max - 2nd byte */#define GBK_MARK_HIMIN 0xA1 /* GB 2312 mark : min - 1st byte */#define GBK_MARK_HIMAX 0xA9 /* GB 2312 mark : max - 1st byte */#define GBK_MARK_LOMIN 0xA1 /* GB 2312 mark : min - 2nd byte */#define GBK_MARK_LOMAX 0xFE /* GB 2312 mark : max - 2nd byte */#define GBK_MARK1_HIMIN 0xA8 /* GBK mark : min - 1st byte */#define GBK_MARK1_HIMAX 0xA9 /* GBK mark : max - 1st byte */#define GBK_MARK1_LOMIN 0x40 /* GBK mark : min - 2nd byte */#define GBK_MARK1_LOMAX 0xFE /* GBK mark : max - 2nd byte */#define BIG5_CHN_CHAR_NUM 13468#define BIG5_SYM_HIMIN 0xA0 /* GBK symbol : minmum value of first byte */#define BIG5_SYM_HIMAX 0xFE /* GBK symbol : maxmum value of first byte */#define BIG5_SYM1_LOMIN 0x40 /* GBK symbol : minmum value of second byte */#define BIG5_SYM1_LOMAX 0x7E /* GBK symbol : maxmum value of second byte */#define BIG5_SYM2_LOMIN 0xA1 /* GBK symbol : minmum value of second byte */#define BIG5_SYM2_LOMAX 0xFE /* GBK symbol : maxmum value of second byte */#define BIG5_CHAR1_HIMIN 0xA4 /* BIG5 char : min - 1st byte */#define BIG5_CHAR1_HIMAX 0xC6 /* BIG5 char : max - 1st byte */#define BIG5_CHAR1_LOMIN 0x40 /* BIG5 char : min - 2nd byte */#define BIG5_CHAR1_LOMAX 0x7E /* BIG5 char : max - 2nd byte */#define BIG5_CHAR2_HIMIN 0xC9 /* BIG5 ext char : min - 1st byte */#define BIG5_CHAR2_HIMAX 0xF9 /* BIG5 ext char : max - 1st byte */#define BIG5_CHAR2_LOMIN 0x40 /* BIG5 ext char : min - 2nd byte */#define BIG5_CHAR2_LOMAX 0xFE /* BIG5 ext char : max - 2nd byte */#define BIG5_MARK_HIMIN 0xA1 /* BIG5 mark : min - 1st byte */#define BIG5_MARK_HIMAX 0xA3 /* BIG5 mark : max - 1st byte */#define BIG5_MARK_LOMIN 0x40 /* BIG5 mark : min - 2nd byte */#define BIG5_MARK_LOMAX 0xFE /* BIG5 mark : max - 2nd byte *//* define the range of gb */#define IN_RANGE(ch, min, max) ( (((unsigned char)(ch))>=min) && (((unsigned char)(ch))<=max) )#define IS_GBK(cst) ( IN_RANGE((cst)[0], GBK_SYM_HIMIN, GBK_SYM_HIMAX) && IN_RANGE((cst)[1], GBK_SYM_LOMIN, GBK_SYM_LOMAX) )#define IS_BIG5(cst) ( \ (IN_RANGE((cst)[0], BIG5_SYM_HIMIN, BIG5_SYM_HIMAX) \ && IN_RANGE((cst)[1], BIG5_SYM1_LOMIN, BIG5_SYM1_LOMAX)) \ || \ (IN_RANGE((cst)[0], BIG5_SYM_HIMIN, BIG5_SYM_HIMAX) \ && IN_RANGE((cst)[1], BIG5_SYM2_LOMIN, BIG5_SYM2_LOMAX)) \ )#define IS_GB2312_CHAR(cst) ( IN_RANGE((cst)[0], GB2312_CHAR_HIMIN, GB2312_CHAR_HIMAX) && IN_RANGE((cst)[1], GB2312_CHAR_LOMIN, GB2312_CHAR_LOMAX) )#define IS_GBK_CHAR1(cst) ( IN_RANGE((cst)[0], GBK_CHAR1_HIMIN, GBK_CHAR1_HIMAX) && IN_RANGE((cst)[1], GBK_CHAR1_LOMIN, GBK_CHAR1_LOMAX) )#define IS_BIG5_CHAR1(cst) ( IN_RANGE((cst)[0], BIG5_CHAR1_HIMIN, BIG5_CHAR1_HIMAX) && IN_RANGE((cst)[1], BIG5_CHAR1_LOMIN, BIG5_CHAR1_LOMAX) )#ifdef __cplusplus}#endifbool is_InASCII( unsigned char* word){ if(*word < 128) return true; else return false;} #endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -