如何实现四通打字机与PC机之间的数据共享 刘 同 飞 1993-02-26 35英寸软驱在PC机中的广泛使用,为四通打字机与PC机之间实现数据共享提供了硬件基础。但是,由于四通机与PC机的汉字机内码不同,因而四通机上文件不能直接在PC机上显示和打印汉字,同样PC机上的文件也不能直接在四通机上显示和打印汉字。 为了实现二者之间的数据共享,需要进行以下几个方面的处理; (一)汉字内码的转换。 汉字内部编码方案采用两个8位二进制代码来表示一个汉字内码,其中第一个字节高位恒为1,第二个高位可以为1,也可以为0。PC机的汉字内码采用的是第二个字节高位为1的编码方案,而四通机采用的则是第二个字节高位为0的编码方案,两者的区别就在于此。其差用二进制表示为10000000,即十六进制80H。这是四通机与PC机之间数据不能共享的根本原因。因此,只要将汉字内码的第二字节加上或减去80H,即可实现两者之间汉字内码的相互转换。 (二)控制符的处理。 四通机与PC机之间的另一个区别是控制符不同。四通机为了编辑、排版的需要,在文件中插入了一些控制符。这些控制符除了少数与PC机兼容外,大部分与PC机不同。 因此,在四通文件向PC机文件转换的过程中,必须分别对其进行处理: (1)回车换行符的处理。将四通机的回车换行 符8DH、0AH,一律转换为PC机的回车换行符0DH、0AH。 (2)换页符的处理。四通机用8CH表示换页,在转换中一律用回车换行符0DH、0AH代替。 (3)空格符的处理。四通机的空格符为A1H、21H,如果把第二字节高位置1,在CCDOS4.0系统下会显示出[SP]来。因此,凡 遇A1H、21H,一律将两个字节都转换为PC机的空格符20H。 (4)四通机在文件中插入了一些第一字节取值范围为80H~A0H的两字节控制码,遇此将其过滤。 (5)过滤掉取值范围为20H的ASCII控制符。 (三)保持取值范围为20H~7FH的ASCII码不变。 在文本文件中,不但有汉字,还有阿拉伯数字和英文字母以及其他ASCII码符号,要使它们保持原样,不能转换,否则会引起混乱。 按上述要求编写的源程序,经TURBO PASCAL 5.1编译生成MS-PC.EXE,在XC_PC、LX386/33S、AST386SX上运行通过,既可实现四通机向PC机的数据转换,也可实现PC机向四通机的数据转换。