一种船载自动识别系统换码收发含汉字的信息的方法技术方案

技术编号:3504914 阅读:184 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种船载自动识别系统换码收发含汉字的信息的方法,其特征在于,采用收发双方约定的字符组合作为换码特征码,使默认使用6位ASCⅡ码收发信息的船载自动识别系统,知道以下收发的是含汉字代码的编码。这样,船载自动识别系统在中国的推广应用中,应用本发明专利技术可以实现收发汉字信息。本发明专利技术属于信息交换技术领域。

【技术实现步骤摘要】

本专利技术涉及,尤其涉及一种默认使用6位ASCII码收发信息的计算机系统换码使用含汉字代码的编码收发信息的方法,主要使用于船载自动识别系统(AIS),属于信息交换

技术介绍
船载自动识别系统(AIS)是工作在VHF海上移动频段的新兴的船舶和岸基广播系统,是促进航行安全,提高航运交通管理效率的先进工具。AIS是一种VHF无线电收发信机,它能将诸如识别码、船位、航向、航速、船舶长度、船型和货物信息等船舶信息和安全信息同其它船舶和岸上的AIS互相收发。国际电信联盟(ITU)有关文献ITU-RM.1371-1《在VHF海上移动频段采用时分多址(TDMA)技术的通用船载自动识别系统(AIS)的技术特性》对这些信息规范为消息,对其长度、信息内容和编码等作了规定,其中对消息中包含的字符数据,如船名、目的地、呼号及其它信息,规定采用该文献的6位ASCII码(见图1)互相收发。 船载自动识别系统(AIS)在中国的推广应用,需要在某些类型的消息中引进汉字代码,并在AIS间互相收发。一般计算机系统中,字符和汉字编码采用GB18030-2000《信息技术信息交换用汉字编码字符集基本集的扩充》和GB2312-1980《信息交换用汉字编码字符集基本集》标准。AIS一般采用嵌入式计算机系统,汉字编码通常采用GB2312-1980基本集6763个汉字代码,是一种含汉字代码的编码,可称之为“机内码”,即单字节即8位二进制数,最高位为“0”表示标准ASC II码,双字节即16位二进制数,两个字节最高位都为“1”表示基本集的汉字代码。如果去掉这两个字节最高位的“1”,剩下的14位汉字代码,也是一种含汉字代码的编码。 但是,考查ITU规定AIS使用的如图1所示的6位ASCII码字符集,显然它不含汉字代码,并且所有6位代码都有字符定义而且不含表示“换码”的特别代码。因此,船载自动识别系统(AIS)无法直接使用计算机系统拥有的含汉字代码的编码来收发信息。
技术实现思路
本专利技术的目的是专利技术一种使船载自动识别系统(AIS)在中国的推广应用中,换码用含汉字代码的编码来收发信息的方法。 为实现以上目的,本专利技术的技术方案是提供,使用于船载自动识别系统的计算机,该计算机拥有含汉字代码的编码,其特征在于,采用收发双方约定的字符组合作为换码特征码,使默认使用6位ASCII码收发信息的船载自动识别系统,知道以下收发的是含汉字代码的编码;其方法为 步骤1定义换码特征码 船载自动识别系统以收发双方约定的字符组合作为换码特征码,让收发双方知道以下收发的是含汉字代码的编码,该字符组合在6位ASCII字符码和8位标准ASCII字符码的对照表中的6位ASCII码字符集中选取; 步骤2收发双方约定 1)船载自动识别系统收发消息时,其初始字符编码默认采用6位ASCII字符码和8位标准ASCII字符码的对照表中的6位ASCII码; 2)当且仅当收发换码特征码后,船载自动识别系统收发的字符编码采用含汉字代码的编码。 船载自动识别系统初始默认使用6位ASCII码收发信息,按照本专利技术的换码方法收发换码特征码后,收发双方就知道了以下收发的是含汉字代码的编码而不是6位ASCII码,这样,船载自动识别系统就能使用其计算机拥有的含汉字代码的编码来收发信息了。 本专利技术的优点是,采用收发双方约定的字符组合作为换码特征码,使默认使用6位ASCII码收发信息的船载自动识别系统,知道以下收发的是含汉字代码的编码,这样,船载自动识别系统在中国的推广应用中,应用本专利技术可以实现收发汉字信息。 附图说明 图1为ITU-RM.1371-1《在VHF海上移动频段采用时分多址(TDMA)技术的通用船载自动识别系统(AIS)的技术特性》中的表14,是6位ASCII字符码和8位标准ASCII字符码的对照表。 具体实施例方式 下面使用计算机编程语言C编写程序,给出船载自动识别系统(AIS)在中国的推广应用中,用计算机实现本专利技术的换码方法,使船载自动识别系统用含汉字代码的编码收发信息,其中一种较佳的实施方式如下 程序中收发双方约定字符组合“&&&”作为换码特征码,约定以一般计算机系统中的“机内码”作为含汉字代码的编码。函数send和receive实施了本专利技术的方法;其它函数与本专利技术关系不大,故程序略。 unsigned char sendData;//要发送的机内码。 unsigned char receiveData;//收到的已转换的机内码。 void send_6bit(unsigned char y);//将y的低6位送入发送数据区,程序略。 void send_bit(unsigned char y);//将y送入发送数据区,程序略。 unsigned char receive_6bit();//从接收数据区取6位值作为返回值,程序略。 unsigned char receive_8bit();//从接收数据区取8位值作为返回值,程序略。 /*-------------------------------------------------------- ** 函数名send **功能将数组sendData中的机内码转换为默认的6位ASCII码,送入发送数据区; 直至发送了换码特征码后,将数组sendData中包含汉字和ASCII字符的机内码,直接送入发送数据区,供发送操作。 **输入sn,要转换的数组元素个数; 数组sendData,元素是机内码。 **输出函数send_6bit(c),把默认的6位ASCII码送入发送数据区; 函数send_8bit(c),把机内码送入发送数据区。-------------------------------------------------------------*/void send(sn)unsigned char sn;{unsigned char i,x1,escN,esc;<!-- SIPO <DP n="3"> --><dp n="d3"/>i=0;escN=0;//特征字符计数清0。esc=0; //esc若为0x1b,换码特征码有效;0,无效。while(i<sn) //循环直至(sn)个。{x1=sendData;//x1取机内码。i++;if(esc==0){//换码特征码无效,x1按图1转换为默认的6位ASCII码。x1=x1&amp;0x7f;if(x1>=0x40)x1=x1-0x40;send_6bit(x1); //把6位ASCII码送入发送数据区。if(x1==0x26) //0x26为&amp;,监视是否发送连续3个&amp;即换码特征码。{ //若发送连续3个&amp;,即″&amp;&amp;&amp;″,则esc=0x1b,置换码特征码有效。escN++;if(escN>=3)esc=0x1b;}else escN=0;//否则,escN清0重计。}else send_8bit(x1);//换码特征码有效,x1机内码直接送入发本文档来自技高网
...

【技术保护点】
一种船载自动识别系统换码收发含汉字的信息的方法,使用于船载自动识别系统的计算机,该计算机拥有含汉字代码的编码,其特征在于,采用收发双方约定的字符组合作为换码特征码,使默认使用6位ASCⅡ码收发信息的船载自动识别系统,知道以下收发的是含汉字代码的编码;其方法为:步骤1:定义换码特征码船载自动识别系统以收发双方约定的字符组合作为换码特征码,让收发双方知道以下收发的是含汉字代码的编码,该字符组合在6位ASCⅡ字符码和8位标准ASCⅡ字符码的对照表中的6位ASCⅡ码字符集中选取;步骤2:收发双方约定1)船载自动识别系统收发消息时,其初始字符编码默认采用6位ASCⅡ字符码和8位标准ASCⅡ字符码的对照表中的6位ASCⅡ码;2)当且仅当收发换码特征码后,船载自动识别系统收发的字符编码采用含汉字代码的编码。

【技术特征摘要】

【专利技术属性】
技术研发人员:夏华龙刘志磊赵东锋
申请(专利权)人:上海埃威航空电子有限公司
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1