如何实现四通打字机与PC机之间的数据共享

Author: 刘 同 飞 Date: 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机向四通机的数据转换。