




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机处理汉字信息的前提条件是对每个汉字进行编码,这些编码统称为汉字编码。汉字信息在系统内传送的过程就是汉字编码转换的过程。汉字交换码:汉字信息处理系统之间或通信系统之间传输信息时,对每一个汉字所规定的统一编码,我国已指定汉字交换码的国家标准“信息交换用汉字编码字符集基本集”,代号为GB 231280,又称为“国标码”。国标码:所有汉字编码都应该遵循这一标准,汉字机内码的编码、汉字字库的设计、汉字输入码的转换、输出设备的汉字地址码等,都以此标准为基础。GB 231280就是国标码。该码规定:一个汉字用两个字节表示,每个字节只有7位,与ASCII码相似。区位码:将GB 231280的全部字符集组成一个9494的方阵,每一行称为一个“区”,编号为0l94;每一列称为一个“位”,编号为0l94,这样得到GB 231280的区位图,用区位图的位置来表示的汉字编码,称为区位码。机内码:为了避免ASCII码和国标码同时使用时产生二义性问题,大部分汉字系统都采用将国标码每个字节高位置1作为汉字机内码。这样既解决了汉字机内码与西文机内码之间的二义性,又使汉字机内码与国标码具有极简单的对应关系。汉字机内码、国标码和区位码三者之间的关系为:区位码(十进制)的两个字节分别转换为十六进制后加20H得到对应的国标码;机内码是汉字交换码(国标码)两个字节的最高位分别加1,即汉字交换码(国标码)的两个字节分别加80H得到对应的机内码;区位码(十进制)的两个字节分别转换为十六进制后加A0H得到对应的机内码。GB2312编码包括符号、数字、字母、日文、制表符等,当然最主要的部分还是中文,它采用16位编码方式,简体中文的编码范围从B0A1一直到F7FE,完整编码表可以参考http:/ash.jp/code/cn/gb2312tbl.htm。汉字编码简明对照表中文转换为完整拼音算法原理分析 汉字编码原理1国家标准汉字代码体系 汉字字数繁多,属性丰富,因而汉字代码体系也较复杂,包括: (1)汉字机内码。它们是汉字在计算机汉字系统内部的表示方法,是计算机汉字系统的基础代码。 (2)汉字交换码。它们是国标汉字(如机内码)进行信息交换的代码标准。 (3)汉字输入码。它们是在计算机标准键盘上输入汉字用到的各种代码体系。 (4)汉字点阵码。它们是在计算机屏幕上显示和在打印机上打印输出汉字的代码体系。 (5)汉字字形控制码。为了打印各种风格的字体和字形所制定的代码。 这些代码系统有的必须有统一的国家标准,有的则不要求统一。近年来我国已经制定系列汉字信息处理方面的国家标准,今后将继续完善,并与国际上求得统一。2. 国家标准汉字交换码 我国制定了“中华人民共和国国家标准信息交换汉字编码”,标准代号为GB231280,这种编码又称为国标码。在国标码的字符集中共收录了一级汉字3755个,二级汉字3008个,图形符号682个,三项字符总计7445个。 在国标GD231280中规定,所有的国标汉字及符号分配在一个94行、94列的方阵中,方阵的每一行称为一个“区”,编号为01区到94区,每一列称为一个“位”,编号为01位到94位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉伯数字就是它们的“区位码”。区位码的前两位是它的区号,后两位是它的位号。用区位码就可以唯一地确定一个汉字或符号,反过来说,任何一个汉字或符号也都对应着一个唯一的区位码。汉字“母”字的区位码是3624,表明它在方阵的36区24位,问号“?”的区位码为0331,则它在03区3l位。 所有的汉字和符号所在的区分为以下四个组: (1)01区到15区。图形符号区,其中01区到09区为标准符号区,10区到15区为自定义符号区。 01区到09区的具体内容如下; 1)01区。一般符号202个,如间隔符、标点、运算符、单位符号及制表符; 2)02区。序号60个,如120.、(1)(20)、及(一)(十); 3)03区。数字22个,如09及X一XII,英文字母52个,其中大写AZ、小写az各26个; 4)04区。日文平假名83个; 5)05区。日文片假名86个; 6)06区。希腊字母48个; 7)07区。俄文字母66个; 8)08区。汉语拼音符号az26个; 9)09区。汉语拼音字母37个。 (2)16区到55区。一级常用汉字区,包括了3755个一统汉字。这40个区中的汉字是按汉语拼音排序的,同音字按笔划顺序排序。其中55区的90一94位未定义汉字。 (3)56区到87区。二级汉字区,包括了3008个二级汉字,按部首排序。 (4)88区到94区。自定义汉字区。 第10区到第15区的自定义符号区和第88区到第94区的自定义汉字区可由用户自行 定义国标码中未定义的符号和汉字。3. 国家标准汉字机内码 汉字的机内码是指在计算机中表示一个汉字的编码。机内码与区位码稍有区别。如上所述,汉字区位码的区码和位码的取值均在194之间,如直接用区位码作为机内码,就会与基本ASCII码混淆。为了避免机内码与基本ASCII码的冲突,需要避开基本ASCII码中的控制码(00H1FH),还需与基本ASCII码中的字符相区别。为了实现这两点,可以先在区码和位码分别加上20H,在此基础上再加80H(此处“H”表示前两位数字为十六进制数)。经过这些处理,用机内码表示一个汉字需要占两个字节,分别 称为高位字节和低位字节,这两位字节的机内码按如下规则表示: 高位字节区码+20H+80H(或区码+A0H) 低位字节=位码+20H+80H(或位码+AOH) 由于汉字的区码与位码的取值范围的十六进制数均为01H5EH(即十进制的0194), 所以汉字的高位字节与低位字节的取值范围则为A1HFEH(即十进制的161254)。 例如,汉字“啊”的区位码为1601,区码和位码分别用十六进制表示即为1001H,它的机内码的高位字节为B0H,低位字节为A1H,机内码就是B0A1H。 4. 汉字的输入码 在计算机标准键盘上,汉字的输入和西文的输入有很大的不同。西文的输入,击一次键就直接输入了相应的字符或代码,“键入”和“输入”是同一个含义。但是在计算机上进行汉字输入时,“键入”是指击键的动作即键盘操作的过程,而“输入”则是把所需的汉字或字符送到指定的地方,是键盘操作的目的。目前已有多种汉字输入方法,因此就有多种汉字输入码。汉字输入码是面向输入者的,使用不同的输入码其操作过程不同,但是得到的结果是一样的。不管采用何种输入方法,所有输入的汉字都以机内码的形式存储在介质中,而在进行汉字传输时,又都以交换码的形式发送和接收。 国标GB231280规定的区位码和沿用多年的电报码都可以作为输入码。这类汉字编码和输入码是一一对应的,具有标准的性质,它们编码用的字符是10个阿拉伯数字,每个汉字的码长均为等长的四个数码。 其他编码的种类很多,可从以下几点加以讨论: (2)编码类型。可分为拼音码、字形码、音形结合码等类型。 (2)编码规则。不同的编码方案有很大的不同,有的规则简单,学习起来较容易记忆, 有的规则复杂,较难记亿。 (3)编码字符集。有用字母键的,有用数字键的,有用字母键加数字键的,或者用了 更多的键作编码字符集的。 (4)编码长度。它与编码字符集的大小有关,字符集越大,编码长度越短。采用26 个字母的编码,其码长一般为四位。 (5)对应关系。除上面提到的区位码和电报码为一一对应的无重码编码外,其他现有的编码方案均有一定数量的重码。所谓重码即一码对应多字。有许多编码为了增加输入的灵活性,同一汉字用多个码来对应,例如双音编码。 (6)单宁和词汇的编码。现有的编码方案,为了提高效率,除了单字外还规定了词汇的编码,甚至使用者可以自行增加词汇库中的词汇,但在提高效率的同时也增加了记亿和操作的复杂性。 (7)码表的类型和大小。从汉字输入码到机内码的转换一股需要在机内检索码表。如果输入码和机内码存在简单的函数关系,有公式可以计算,如区位码等编码就不需要码表,其他没有简单函数关系的编码就需要码表。码表大小与数据结构、单字数量、词汇数量等因素有关。国标血231280规定的6763个一、二级汉字,备类编码的码表从几千字节到几万字节。随着词汇旦的增加,有的码表达到了若干兆字节。5. 汉字的点阵码 汉字的显示和输出,普遍采用点阵方法。由于汉字数量多且字形变化大,对不同字形汉字的输出,就有不同的点阵字形。所谓汉字的点阵码,就是汉字点阵字形的代码。存储在介质中的全部汉字的点阵码又称为字库。 16x16点阵的汉字其点阵有16行,每一行上有16个点。如果每一个点用一个二进制位来表示,则每一行有16个二进制位,需用两个字节来存放每一行上的16个点,并且规定其点阵中二进制位0为白点,1为黑点,这样一个16X16点阵的汉字需要用2t6即32个字节来存放。依次类推,2424点阵和3232点阵的汉字则依次要用72个字节和128个字节存放一个汉字,构成它在字库中的字模信息。 要显示或打印输出一个汉字时,计算机汉字系统根据该汉字的机内码找出其字模信息在字库中的位置,再取出其字模信息作为字形在屏幕上显示或在打印机上打印输出。 嵌入式系统中文输入法的设计 摘 要:在基于嵌入式系统的智能终端中,中文人机交互界面是必须的功能,某些系统还要求中文文本输入。本文介绍了一种占用较少资源并适于在MCU上实现的中文输入法。关键词:嵌入式系统;中文输入法;数字键盘引言目前,以LCD和数字键盘实现的人机交互式界面在智能终端中广泛采用。在不同的应用场合,对人机界面的要求也不同,一些情况下只要求简单参数的显示和选择,而在一些信息终端中,还要求文字的输入。在使用高性能CPU和标准显示设备的情况下,实现友好的人机界面可采用商用嵌入式系统( 如Linux或WinCE)所支持的GUI程序。但很多情况下,智能终端使用MCU,且其显示设备是非标准接口的小型LCD。此时,必须找到占用较少资源的低成本实现方法。笔者参加的智能终端项目就是一个比较典型的基于MCU的人机界面应用,使用12864点阵式LCD模块,要求可显示Unicode编码的一、二级常用汉字库并可进行中文输入。此应用中输入法相关的代码和数据占用约20kB。在应用开发中,我们使用了实时操作系统C/OS-II,相关内容可参考有关文献。简单的中文拼音输入法汉字输入法的实质是建立一种按键组合到汉字编码的映射关系,因此,使用数字键盘的嵌入式系统的输入法与使用标准键盘的PC机的输入法没有本质的不同,其区别主要在于嵌入式应用中处理器、存储器等资源比较有限。如对应汉字“你”,拼音输入法下PC键盘按键组合为“ni”,而在一般数字键盘下,其按键组合则为“64”。在多数手持式设备(如智能电话)中,以09数字键与几个简单的控制键实现汉字输入,比较著名的是在手机中广泛采用的T9 和iTap 输入法。这里我们介绍一种简单的拼音输入法的实现方法。一般终端键盘包括12个按键,分别是09数字键和“*”、“#”两个特殊键。按通用规则,数字1对应空格,其功能基本等同于PC机中的空格键,用于输入空格或作为当前汉字的确认键;29数字键分别对应下述汉语拼音字母:2:a b c 3:d e f 4:g h i5:j k l 6:m n o 7:p q r s 8:t u v 9:w x y z而“0”、“*”、“#”键则作为输入法中的控制键。我们将“#”作为“选择键”,用于选取同一数字键组合下的不同拼音组合。输入法中使用了两个重要数据结构,分别是PY_NODE和PY_SUBNODE。每个PY_NODE对应一个数字键组合,PY_SUBNODE则对应一组拼音组合。由于一个数字组合可对应多个拼音组合(如“226”对应“ban”、“bao”、“can ”、“cao”),因此这两个结构实现的是一个两级的对应表。PY_NODE按树组织,而PY_SUBNODE按双向链表组织。二者的基本关系如图1所示。以下是两个结构的定义:typedef struct py_nodeunsigned int son8; /对应下次29按键输入时应转到的PY_NODE的ID号unsigned int father; /父节点ID号struct py_subnode *ptrpy; /指向下属第一个PY_SUBNODE的指针PY_NODE;typedef rom struct py_subnodeunsigned char py7; /本节点的拼音字符串struct py_subnode *prev; /指向前一PY_SUBNODE的指针struct py_subnode *next; /指向下一PY_SUBNODE的指针unsigned char *ptrUnicode; /指向本节点对应Unicode码表的指针PY_SUBNODE;设计中我们所参照的汉语拼音表中共有412种组合,这样系统中必须有412个PY_SUBNODE与其一一对应;系统中共建立了250个PY_NODE。建立此部分数据的工作比较繁琐,分以下5个步骤进行:1、 汉字按拼音进行分组,按常用程度排序,并将汉字转化为Unicode码或国标码,码型视系统要求而定;2、 将有效拼音转换为数字键盘值组合,如拼音“cui”转为数字值“284”,这些值对应了部分PY_NODE;3、 增加中间PY_NODE,用于表示本身无效但后续输入有效的拼音,如“b”、“c”、“don”、“dua”等节点;4、 将数字键组合相同的PY_SUBNODE编成链表,由某一PY_NODE中的ptrpy指针指向表头;5、 按数字键组合的关系,将PY_NODE组成树。图1中所示组织关系并不复杂,但其工作量不小,一般情况下可编写转换程序自动建立。图2为拼音输入法数据结构的一个片断。在改变当前PY_NODE时,一般应伴有一些显示操作,因应用不同各有差异,此处不做过多说明。在当前节点下,可以用某一指定控制键(如“#”键)来选择此PY_NODE下属的PY_SUBNODE以缩小汉字的选取范围。增加功能上述拼音输入法比较简单,且完成了输入法需要的基本功能。对于某些应用场合,对输入法还有更多的要求,可在上述方法的基础上进行改进实现。一些常见的要求和改进方法列举如下: 增加常用字功能在上述输入法中,增加常用汉字。只考虑国标码中的约7000常用汉字情况下,输入法所占用的存储空间增加14kB。 增加联想功能为使输入更为友好,很多输入法设有联想功能,即在输入一个汉字后,此汉字常用的后续汉字自动成为候选项由用户选择。 笔划输入法笔划输入法较之拼音输入法的优势在于重码少,输入不常用汉字时也不必多次翻页查找。以五笔划输入法为例,通过五个按键即可输入汉字。该输入法将汉字笔划分为5种笔划,即:“一”、“丨”、“丿”、“丶”和“-”五种笔划,分别对应数字键“7”、“8”、“9”、“*”、“0”,如“你”字的组合为“丿”、“丨”、“丿”、“-”、“丨”、“丿”、“丶”。笔划输入法与拼音输入法的区别在于人的感觉而非机器的操作,本质上只是按键组合与汉字码表对应关系有所不同,如“你”在拼音输入法下对应“64”,而在笔划输入法下则对应“989089*”。 关于特殊符号、英文和数字对于一些常用的特殊符号、英文和数字的输入,较常用的做法是将以单独的输入法实现。软、硬件设计输入法的性能优劣,更多的不是体现在算法,而是是否符合实际需求。因此它的优化工作是对前述PY_NODE和PY_SUBNODE组织的优化,如汉字次序的安排、联想功能中后序字的组织、以及操作界面的设计是否适合人们的使用习惯。因算法本身很简单,所以用C语言可实现较高的代码效率,以及较好的可移植性。对于很多8位MCU,地址空间不大于64kB。这样小的空间对于汉字界面中的汉字库和输入法中的大量数据结构是远远不够的(如一、二级常用字的1616点阵汉字库至少需要约220kB),因此常使用地址分页方式实现地址扩展。在MCU外部设一锁存器作为“页”寄存器,每页大小根据MCU特性和实际需求确定,如MCS51系列最大可为64kB一页。由于页寄存器的操作为独占型的,因此在中断内不能进行操作;而在基于RTOS的多任务环境下,应避免多个任务同时使用页寄存器。结语由于8位、16位MCU的应用场合多是低成本的设备,当商用输入法的成本无法接受或无法得到时,自行编写输入法应是可行的。当然,本文所讨论的只是实现输入法的基本方法,虽然方法可行,但所编写的输入法代码应经过较长时间的测试才可以作为产品的正式软件发布。直接在Keil下仿真的T9拼音输入法(完整版)作者:佚名 文章来源:侃单片机 点击数:1481 更新时间:2005-4-14 /*看到论坛上有人发T9拼音输入法,好多人感兴趣啊!呵呵,也把我很久以前的程序找出来重新编译了一下,特点是直接在Keil下仿真,切换到串口窗口就可以直接看到结果。希望大家喜欢哦仿真步骤如下:1、把3个帖子的内容分别保存为51t9py.c,51t9py_indexa.h,5py_mb.h,放在同一目录下,将51t9py.c加入工程编译2、由于Keil的模拟串口是单字节显示,汉字显示为乱码,所以要加挂RICHWIN或RichView这种会重新刷新显示的中文平台,或手工刷新屏幕,所以请先到 /dl/chinese.htm 下载RichView,安装运行3、在Keil环境下可以直接按“CtrlF5”键仿真,按“F5”全速运行,切换到在串口依次输入: / 64*.6 426*.5 98*.7 936.3 586.1 4826*.1 9464*.7 64*.6试试:-) 4、按键对应(根据我自己的手机设置的,全部在PC的小键盘操作): / Num /:上一拼音?*:下一拼音 / 7:pqrs 8:tuv 9:wxyz -:前翻页 / 4:ghi 5:jkl 6:mno +:后翻页 / 1:? 2:abc 3:def 回车键:输入状态和选字状态切换 / 0:? .和空格及回车键:输入状态和选字状态切换 /*/请把这个帖子的内容保存为51t9py.c/-/ 源程序大公开 / (c) Copyright 20012003 xuwenjun / All Rights Reserved / V1.00 /-/标题: T9拼音输入法模块 /文件名: 51t9py.c /版本: V1.00 /修改人: 徐文军 E-mail: /日期: 05-4-8 /描述: T9拼音输入法模块 /声明: / 以下代码仅免费提供给学习用途,但引用或修改后必须在文件中声明出处. / 如用于商业用途请与作者联系. E-mail: / 有问题请mailto 欢迎与我交流! /-/老版本: 无 老版本文件名: /创建人: 徐文军 E-mail: /日期: 02-11-05 /描述: / 1、很久以前的程序,根据网友张 凯、李 强的51py输入法子程序改编, / 增加索引、完善主程序、测试程序,使之在Keil下直接仿真 / 2、在Keil环境下可以直接按“CtrlF5”键仿真,切换到在串口依次输入: / 64*.6 426*.5 98*.7 936.3 586.1 4826*.1 9464*.7 64*.6试试:-) / 3、由于Keil的模拟串口是单字节显示,汉字显示为乱码,所以要加挂 / RICHWIN或RichView这种会重新刷新显示的中文平台,或手工刷新屏幕 / (RichView可以到 /dl/chinese.htm 下载) / 4、按键对应(根据我自己的手机设置的,全部在PC的小键盘操作): / Num /:上一拼音?*:下一拼音 / 7:pqrs 8:tuv 9:wxyz -:前翻页 / 4:ghi 5:jkl 6:mno +:后翻页 / 1:? 2:abc 3:def 回车键:输入状态和选字状态切换 / 0:? .和空格及回车键:输入状态和选字状态切换 /-/#include#include#includePY_mb.h/#include51t9_MB.h#include51t9py_indexa.h#define CNTLQ 0x11#define CNTLS 0x13#define DEL 0x7F#define BACKSPACE 0x08#define CR 0x0D#define LF 0x0Aunsigned char cpt9PY_Mblen;struct t9PY_index code * cpt9PY_Mb16;unsigned char t9PY_ime(char *strInput_t9PY_str) struct t9PY_index *cpHZ,*cpHZedge,*cpHZTemp; unsigned char i,j,cInputStrLength; cpt9PY_Mblen=0; /完全匹配组数 j=0; /j为匹配最大值 cInputStrLength=strlen(strInput_t9PY_str); /输入拼音串长度/ if(*strInput_t9PY_str=0)return(0); /如果输入空字符返回0/ cpHZ=&(t9PY_index20); /查首字母索引/ cpHZedge=t9PY_index2+sizeof(t9PY_index2)/sizeof(t9PY_index20);/ strInput_t9PY_str+; /指向拼音串第二个字母/ while(cpHZ cpHZedge) /待查询记录条数 for(i=0;i j) j=i+1; /j为匹配最大值 cpHZTemp=cpHZ; break; /发现字母串不配,退出/ if(i=cInputStrLength) & (cpt9PY_Mblen 0) return (*(cpt9PY_Mb0).PY_mb); else return (PY_mb_space);void t9PY_Test(void) bit PYEnter=0; bit HZok=0; unsigned char temp;/ unsigned char temp2; unsigned char t9PYn=0; char idata inline16=0x00; idata char chinese_word3= ; char tempchar,Add=0,i=0; struct t9PY_index *cpTemp;/ cpTemp=t9PY_index2;/ printf (n按键 /:上一拼音 *:下一拼音 .和空格及回车键:输入状态和选字状态切换n); / printf (请按键:2-abc 3-def 4-ghi 5-jkl 6-mno 7-pqrs 8-tuv 9-wxyz n); / while(!HZok) tempchar=getchar(); switch (tempchar) / case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: if (PYEnter) inlinei=tempchar; i+; Add=0; t9PY_ime(inline); break; case /: if (t9PYn 0) t9PYn -; break; case *: t9PYn +; if (t9PYn =cpt9PY_Mblen) t9PYn -; break; case -: if (Add = 12) Add -= 12; break; case =: case +: if (Add 0) i-; inlinei=0x00; Add=0; t9PY_ime(inline);/ cpTemp=cpt9PY_Mbt9PYn; break;/ case n: case .: /输入状态和选字状态切换 case : case n: PYEnter =1; break; default :/ HZok=1; break; printf ( r); if (PYEnter) printf (选); cpTemp=cpt9PY_Mbt9PYn; if(cpTemp != PY_mb_space) & (tempchar=1) & (tempchar=9) HZok=1; t9PYn=0; printf ( r);/ printf (%sn,inline); chinese_word0=*(*cpTemp).PY_mb+Add+(tempchar-1)*2); chinese_word1=*(*cpTemp).PY_mb+Add+(tempchar-1)*2+1); printf (chinese_word); printf (n); else / printf (*(cpTemp).PY); printf (:); printf (*cpTemp).PY_mb+Add);/ printf (n拼音1 2 3 4 5 6 7 8 9r); else printf (拼); for (temp=t9PYn;tempcpt9PY_Mblen;temp+) cpTemp=cpt9PY_Mbtemp;/ temp2=(strlen(*(cpTemp).PY_mb)-Add)/2);/ printf (%2bd:%02bd:,temp,temp2); printf (:); printf (*(cpTemp).PY);/ printf (*(cpTemp).PY_mb+Add);/ printf (n); / printf (n); /-以下为测试程序-/#include #include #ifdef MONITOR51 /* Debugging with Monitor-51 needs */ char code reserve 3 _at_ 0x23; /* space for serial interrupt if */#endif /* Stop Exection with Serial Intr. */ /* is enabled */void main (void) char input_string=98;/*-Setup the serial port for 1200 baud at 16MHz.-*/#ifndef MONITOR51 SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */ TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reloa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗质量及医疗安全教育培训专题计划
- 路南教师选聘面试题及答案
- 2025年 邯郸市曲周县招聘城市管理协管员试卷附答案
- 学校食堂培训
- 沟通技能培训课件
- 肿瘤药物的分类
- 商务部培训资料
- 畜牧环保培训课件
- 酒店关于人身安全培训
- 肿瘤专科结业答辩
- 水利工程隐患排查课件
- 办公软件实操试题及详细答案
- 米粉项目可行性分析报告
- 腰痛中医护理查房
- 八五普法自查自评情况报告
- 竞彩资格考试试题及答案
- esg考试试题及答案
- 重庆市大足区2023-2024学年四年级下学期语文期末考试试卷(含答案)
- 2025三季度四川经准检验检测集团股份限公司招聘48人易考易错模拟试题(共500题)试卷后附参考答案
- 百货店转让合同协议
- 轴承加工合同协议
评论
0/150
提交评论