⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gb2any.h

📁 国家ASIC工程中心使用的嵌入式操作系统
💻 H
字号:
#ifndef	_GB2ANY_H
#define _GB2ANY_H

struct _node					// 拼音编码索引
{
	struct _node	*next;		// 下一个索引
	struct _node	*prev;		// 上一个索引
	WORD	gbCode;			// 汉字的GB编码(GB2312,GBK)
	WORD	index;			// 汉字的新编码索引或辅助索引
//	WORD	spNum;			// 汉字的新编码数目
};
typedef struct _node	GB2INDEX;

struct _assit_node			// 辅助索引
{
	struct _assit_node	*next;		// 下一个索引
	WORD	index;					// 汉字的新编码索引
};
typedef struct _assit_node	ASSISTINDEX;

#define SECTION_NUM			126		// 分区数目(0xFF - 0x81)
#define NUM_PRE_SECTION		94	// 每区中汉字的数目

/*
DWORD	Tbl_I[SECTION_NUM];				// 汉字编码一级索引表(分区表)
DWORD	Tblcnt[SECTION_NUM];			// 分区表索引统计
*/

GB2INDEX	*Tbl_II = NULL;				// 汉字编码二级索引表(拼音编码索引)
ASSISTINDEX	*Tbl_Assist = NULL;			// 汉字编码辅助索引表
WORD	Tbl_II_Len = 0;					// 汉字编码二级索引表长度
WORD	Tbl_Assist_Len = 0;				// 汉字编码辅助索引表长度

DWORD	ToneNum[4] = { 0, 0, 0, 0 };	// 多编码字个数统计

// 根据汉字的GB编码获取分区号
#define	GetSectionID( code )	( ( (code) >> 8 )- 0x81 )

#define GBK					0		// GBK全字符集
#define GB2312				1		// GB2312全字符集
#define GB2312_I			2		// 一级字符集	
#define GB2312_II			3		// 二级字符集
#define GB2312_STD			4		// 一、二级字符集
#define GB_TYPE				GB2312_I//GBK

#define SHUANG_PIN			0
#define QUAN_PIN			1
#define WU_BI86				2
#define INDEX_TYPE			QUAN_PIN//SHUANG_PIN

#if GB_TYPE == GBK
#define CheckCH( high, low )
#elif GB_TYPE == GB2312
#define CheckCH( high, low )	if( (high) < 0xB0 || (low) > 0xD7 )	continue;
#elif GB_TYPE == GB2312_I
#define CheckCH( high, low )	if( (high) < 0xB0 || (high) > 0xD7 || ( (low) < 0xA1 && (low) > 0x04 ) ) continue;
#elif GB_TYPE == GB2312_II
#define CheckCH( high, low )	if( (high) < 0xD8 || (high) > 0xF7 || ( (low) < 0xA1 && (low) > 0x04 ) ) continue;
#elif GB_TYPE == GB2312_STD
#define CheckCH( high, low )	if( (high) < 0xB0 || (high) > 0xF7 || ( (low) < 0xA1 && (low) > 0x04 ) ) continue;
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -