GB T 16681-1996 信息技术 开放系统中文界面规范.pdf
《GB T 16681-1996 信息技术 开放系统中文界面规范.pdf》由会员分享,可在线阅读,更多相关《GB T 16681-1996 信息技术 开放系统中文界面规范.pdf(102页珍藏版)》请在麦多课文档分享上搜索。
1、中华人民共和国国家标准信息技术开放系统中文界面规范发布实施国家技术监督局发布前言本标准的附录是标准的附录附录和附录是提示的附录本标准由中华人民共和国电子工业部提出本标准由电子工业部标准化研究所归口本标准起草单位中国计算机软件与技术服务总公司中国科学院软件研究所联想集团公司信息高技术联合研究所本标准主要起草人孟庆余孙龙驹姚吉松吴健姚建枫慈林林赵国宏戴世宗冯惠引言本标准是为基于或见附录的中文处理系统规定的基本界面规范本标准的制定将对系统中文平台的开发应用移植互换起重要指导作用本标准的主要内容包括国际化要求本地化要求服务功能界面实用程序要求图形界面要求等中华人民共和国国家标准信息技术开放系统中文界面
2、规范国家技术监督局批准实施范围主题内容本标准定义开放系统中文平台应用程序编程界面服务功能界面以及图形界面适用范围本标准适用于开放系统中文平台的开发应用和基于该环境的中文处理软件的集成引用标准下列标准包含的条文通过在本标准中引用而构成为本标准的条文本标准出版时所示版本均为有效所有标准都会被修订使用本标准的各方应探讨使用下列标准最新版本的可能性信息处理信息交换用七位编码字符集信息交换用汉字编码字符集基本集信息处理七位和八位编码字符集用的控制功能数据元和交换格式信息交换日期和时间表示法信息技术通用多八位编码字符集第一部分体系结构与基本多文种平面图形信息交换用矢量汉字仿宋体字模集及数据集图形信息交换用
3、矢量汉字楷体字模集及数据集图形信息交换用矢量汉字黑体字模集及数据集信息技术可移植操作系统界面第一部分系统应用程序界面程序设计语言信息技术可移植操作系统界面第二部分命令和实用程序定义本标准采用下列定义多字节字符用若干个字节表示的字符单字节字符用一个字节表示的字符宽字符为了统一地处理单字节字符与多字节字符而采用的具有统一编码宽度的字符的内部表示字符宽度字符所占用的存储单位数或显示列位置数字符宽度有显示宽度与存储宽度之分而且字符的显示宽度与存储宽度不总是一致的输入法为输入特定字符集中字符而定义的方法输入提示屏计算机屏幕上输入法要求的显示区热键计算机键盘上输入法要求的方式切换键点阵汉字用位映象图描述的
4、汉字字符矢量轮廓汉字用有向线段描述汉字轮廓的汉字字符曲线轮廓汉字用特定曲线描述汉字轮廓的汉字字符要求总体要求标准的符合性具体实现应遵循本标准此外还应符合操作系统的其他标准凡本标准中未明确定义的符号请参阅相应的标准语言约束本标准使用按描述编程界面并不限定在具体实现时所使用的编程语言国际化本地化模式具体实现应采用标准的国际化本地化模式字处理原则在系统字处理中必须以字符为单位而不能以字节为单位若无特殊说明本标准中所用的字符既可以是单字节字符也可以是多字节字符前导文件若无特殊说明本标准所引用的前导文件与见附录一致国际化国际化是规定在一个计算机程序内部的能力使它适应于不同的本地语言本地风俗和编码字符集本
5、标准定义一组国际化的应用程序编程界面由于多字节字符事实上的存在并表现为不等长为了处理上的一致性规范性字符处理时应以等长的宽字符表示多字节字符标准多字节功能名称把一个字符转换成宽字符格式说明如果不是空指针那么先确定由指向的字符的字节数然后确定与该字符相对应的型的宽字符代码值与空字符等价的宽字符代码值是零如果该字符是有效的并且不是空指针把宽字符代码值存放在指向的目标中本函数受当前本地环境影响对于依赖于状态的编码通过将参数置为空来调用本函数使函数设置为初始状态后续的调用如果参数非空则使函数的初始状态根据需要改变如果编码依赖于状态那么参数为空指针的调用使本函数返回一个非零值否则返回零如果在实现中使用一
6、些特殊字节来改变切换状态那么这些字节不生成独立的宽字符代码而是与一个相邻的字符组合在一起改变当前的使本函数的初始状态不确定指向的数组中至多个字节被检查返回当是空指针时如果字符编码依赖于状态那么函数返回一个非零值如果编码不依赖于状态则函数返回零值当是非空指针时如果指向空字节那么返回零或者如果个或少于个字节组成了合法的多字节字符则返回多字节字符的字节数或者如果是无效字符则函数返回并置以示出错不可能返回大于或者宏的值名称获取一字符的字节数格式说明如果不是空指针确定由指向的字符的字节数除了的切换状态不受影响之外它等价于本函数受当前本地环境影响对于依赖于状态的编码通过将参数置为空来调用本函数使函数设置为
7、初始状态后续的调用如果参数非空则使函数的初始状态根据需要改变如果编码依赖于状态那么参数为空指针的调用使本函数返回一个非零值否则返回零如果在实现中使用一些特殊字节来改变切换状态那么这些字节不生成独立的宽字符代码而是与一个相邻的字符组合在一起改变当前的使本函数的初始状态不确定返回当是空指针时如果字符编码依赖于状态那么函数返回一个非零值如果编码不依赖于状态则函数返回零值当是非空指针时如果指向空字节那么返回零或者如果个或少于个字节组成了合法的多字节字符则返回多字节字符的字节数或者如果是无效字符则函数返回并置以示出错不可能返回大于或者宏的值名称把宽字符转换成一个字符格式说明确定表示的宽字符包括切换状态的
8、变化所对应的字符的字节数并把对应的字符可能是多字节和改变切换状态的特殊字节存放在如果不是空指针指向的目标数组中最多存放个字节如果的值为零被置为初始切换状态本函数受当前本地环境影响对于依赖于状态的编码通过将参数置为空来调用本函数使函数设置为初始状态后续的调用如果参数非空则使函数的初始状态根据需要改变如果编码依赖于状态那么参数为空指针的调用使本函数返回一个非零值否则返回零如果在实现中使用一些特殊字节来改变切换状态那么这些字节不生成独立的宽字符代码而是与一个相邻的字符组合在一起改变当前的使本函数的初始状态不确定返回当是空指针时如果字符编码依赖于状态那么函数返回一个非零值如果编码不依赖于状态则函数返回
9、零值当是非空指针时如果不对应合法的字符那么函数返回否则返回对应的字节数不可能返回大于宏的值名称把一个字符串转换成一宽字符串格式说明以初始切换状态开始把指向的字符序列转换成对应的宽字符代码序列并把不多于个的宽字符代码存放在指向的数组中空符空符将被转换成一个值为零的宽字符代码后续的字符不会被检查和转换除了的切换状态不受影响外每个字符的转换就象调用一样指向的数组中最多存储个元素如果拷贝目标重叠其行为没被定义本函数受当前本地环境的影响如果是一空指针返回宽字符数组所需的元素数返回如果遇到一无效字符返回并且置以示出错否则返回被转换的数组元素的个数或者如果是空指针则是所需的个数不包括作为终止符的零代码如果返
10、回值是数组不以零代码终止名称把一宽字符串转换成一字符串格式说明以初始切换状态开始把指向的数组中的宽字符代码序列转换成字符序列并把这些字符存放在指向的数组中当超过总共个字节的限制或者存放了一个空字节时转换结束除了的切换状态不受影响外每个宽字符的转换就象调用一样本函数受当前本地环境的影响指向的数组中最多存储个字节如果拷贝目标重叠其行为没被定义如果是一个空指针返回字符数组所需的字节数返回如果遇到一宽字符代码它不对应有效字符单字节或多字节返回否则返回字符数组中的字节数不包括作为终止符的空字节如果返回值是数组不以空终止功能名称从一个流中获取宽字符代码格式说明从指向的输入流中获取下一个字符如果存在再将该字
11、符转换成对应的宽字符代码并且下移流的文件位置指示器如果已定义如果出现错误流的文件位置指示器的值不确定可以因为更新而标记所指文件的域如果或第一次成功地从中获取的数据不是前面或者的调用提供的则因为更新而标记域返回的成功调用将从指向的输入流中读取字符并返回对应的型的宽字符代码如果流遇到了文件尾流的文件结束指示器将被设置并且返回如果发生读错误流的出错信息指示器将被设置返回并且置以示出错名称从一个流中获取宽字符格式说明等价于但它作为宏实现时略有不同返回见名称从标准输入中获取宽字符格式说明的功能等价于返回见名称从一个流中获取一宽字符串格式说明从中不断读取字符并转换成对应的宽字符代码把结果存放在指向的型数组
12、中直到读取了个字符或者是遇到换行符换行符被转换并存放到或者文件尾为止这样以宽字符的空符结束如果出现错误流的文件位置指示器的值将不确定可以因为更新而标记所指文件的域如果或第一次成功地从中获取的数据不是前面或者的调用提供的则因为更新而标记域返回的成功调用返回如果遇到文件尾流的文件结束指示器将被设置并且返回空指针如果发生读错误流的出错信息指示器被设置返回空指针并且置以示出错名称在一个流上输出宽字符代码格式说明把与宽字符代码对应的字符写到指向的输出流中并且下移流的文件位置指示器如果已定义如果文件不能支持定位请求或者流是以附加方式打开的字符将附加到输出流后当写字符出现错误时输出文件的转换状态将是无定义状
13、态在对同一流的与下次或的成功调用之间或者直到调用或为止将因为更新而标记文件的和域返回如果成功返回否则返回流的出错信息指示器被设置并且置以示出错名称把一宽字符输出到一个流上格式说明等价于但它作为宏实现略有不同返回见名称把宽字符写到标准输出格式说明等价于返回见名称在一个流上输出宽字符串格式说明把与指向的以空结束的宽字符串对应的字符串写入指向的流中与空宽字符代码相对应的字符不被写入在对同一流的与下次或的成功调用之间或者直到调用或为止将因为更新而标记文件的和域返回如果成功返回一非负整数否则返回置流的出错信息指示器并且置以示出错名称把一宽字符代码放回输入流格式说明把与宽字符代码相对应的字符放回指向的输入
14、流被放回的字符将在下次从流中读时返回一个文件定位函数或的成功调用会清除放回流所指向的流中的字符与流对应的外部存储将不做改变的一次调用可保证字符的放回如果在同一个流中太多次调用而没有读文件或者文件定位操作来间隔操作可能失败如果的值等于宏的值操作失败并且输入流不做改变的成功调用将清除流的文件结束指示器在读操作或者清除所有放回字符之后的文件位置指示器的值与放回字符前是一样的每一次的成功调用将使文件位置指示器减小减小或更多如果在调用之前它的值是零在调用之后它的值将不确定返回如果成功返回与放回字符相对应的宽字符代码值否则它返回串操作功能名称连接两个宽字符串格式说明把指向的宽字符串的副本包括宽字符代码结束
15、符附加到所指的宽字符串的末尾的起始宽字符盖写了末尾的宽字符空符如果拷贝目标重叠该行为未定义返回返回串不规定发生错误的返回值名称部分连接两个宽字符串格式说明把指向的数组中的最多个宽字符代码附加空宽字符及其后面的宽字符代码不被附加到所指的宽字符串的末尾的起始宽字符盖写了末尾的宽字符空符通常一个宽字符结束符要附加到结果中如果拷贝目标重叠该行为未定义返回返回串不规定发生错误的返回值名称比较两个宽字符串格式说明比较指向的宽字符串和指向的宽字符串返回的非零值由被比较的目标中的第一处不同值决定返回比较完成后根据指向的字符大于等于或小于指向的字符返回一大于等于或小于零的整数名称部分比较两个宽字符串格式说明比较
16、指向的宽字符串和指向的宽字符串中最多个宽字符代码空宽字符及其后面的宽字符代码不被比较返回的非零值由被比较的目标中的第一处不同值决定返回比较完成后根据指向的字符大于等于或小于指向的字符返回一大于等于或小于零的整数名称复制一宽字符串格式说明把指向的宽字符串包括宽字符代码的结束符复制到所指的数组中如果拷贝目标重叠该行为未定义返回返回串不规定发生错误的返回值名称部分复制一宽字符串格式说明把指向的宽字符串中最多个字符复制到所指的数组中空宽字符及其后面的宽字符代码不被复制如果拷贝目标重叠该行为未定义返回返回串不规定发生错误的返回值名称得到宽字符串的长度格式说明计算指向的宽字符串中宽字符代码个数不包括宽字符
17、结束符在内返回返回中的宽字符数不规定发生错误的返回值名称宽字符串扫描操作格式说明确定所指向的宽字符串中第一次出现的位置必须是可说明为型的字符并且是在当前本地环境中与一有效字符相对应的宽字符宽字符结束符被认为是宽字符串的一部分返回如果成功返回一指向宽字符代码的指针否则如果没有在该宽字符串中出现返回一空指针名称宽字符串扫描操作格式说明确定所指向的宽字符串中最后一次出现的位置必须是可说明为型的字符并且是在当前本地环境中与一有效字符相对应的宽字符宽字符结束符被认为是宽字符串的一部分返回如果成功返回一指向宽字符代码的指针否则如果没有在宽字符串中出现返回一空指针名称在宽字符串中扫描宽字符代码格式说明确定所
18、指的宽字符串中任一宽字符代码在所指的宽字符串中第一次出现的位置返回如果成功返回一指向宽字符代码的指针否则如果中的宽字符没有在出现返回一空指针名称获取宽字符子串的长度格式说明计算指向的宽字符串的初始段最大长度该段完全由所指宽字符串中的代码组成返回返回串中初始段的长度不规定发生错误的返回值名称获取宽字符子串的长度格式说明计算指向的宽字符串的初始段最大长度该段完全由不是所指宽字符串中的代码组成返回返回串中初始段的长度不规定发生错误的返回值名称把宽字符串分裂成记号格式说明的连续调用将把所指向的宽字符串分隔成一记号序列每一个被中的宽字符分隔在连续调用中第一次调用把作为函数的第一个参数随后的调用用空指针作
19、为它的第一个参数每次调用所指向的分隔符串可以不同在连续调用中第一次调用在所指的宽字符串中搜索第一个不包括在当前所指的分隔符串中的宽字符代码如果没找到这样的宽字符代码即所指的宽字符串中没有记号则返回一空指针如果找到了它便是第一个记号的开始从记号的开始处起搜寻当前分隔符串中包含的宽字符代码如果没有找到这样的宽字符代码则当前记号延伸至所指的宽字符串的结尾并且随后的搜寻将返回空指针如果找到了这样的宽字符它将被一个空宽字符盖写该空宽字符结束当前记号保存指向后续宽字符代码的指针以便下次搜寻从这里开始随后的每一次调用用空指针作为第一个参数从保存的指针开始并且按照上述过程继续搜寻返回如果成功返回指向一个记号的
20、第一个宽字符代码的指针否则如果没有记号返回一空指针名称寻找宽字符子串格式说明确定所指的宽字符串中的宽字符序列不包括结尾的空宽字符在所指的宽字符串中第一次出现的位置返回如果成功返回确定的宽字符串指针否则如果宽字符串没被找到返回一空指针如果指向一零宽的宽字符串函数返回打印功能名称打印格式输出格式说明注此处只说明有关中文处理的部分输出到命名的输出流中输出到标准输出中输出到中每个函数按照转换格式化打印是一个以初始转换状态开始和结束的字符串由零或多个指令组成普通字符它将被拷贝到输出流转换说明符每个都将匹配零或多个参数如果没有足够的参数与匹配结果未定义如果参数超过格式转换所需要的数目多余的参数被求值或被忽
21、略将代替转换说明符是中的一个十进制整数它给出参数序列中参数的位置转换说明符适用于后面的参数序列中的个参数而不适用更后面的没有用到的参数这种特点为特定语言按次序选择参数提供了格式定义格式串中包含形式的转换说明符参数序列中编号的参数可以根据需要重复使用在一个包含转换说明符的格式串中一个域的宽度和精确度由指定是中的一个十进制整数它给出参数在参数序列中的位置该参数表示一整参数的域宽或精确度例如中可以含有编号参数说明符即和或者无编号参数说明符即和但通常不同时含有二者只有一个例外可以与形式混用编号参数说明符与无编号参数说明符在一中混用没被定义当用编号参数说明时如果说明第个参数则需要从第到第个前导参数都已在
22、格式串中被说明标志符及其意义十进制转换或的整数部分用千分号格式化其他转换没被定义使用了非货币分组符号转换符及其意义型的参数被转换成表示一个字符的字节序列并且写出结果字符如果指定了精确度则结果没有定义转换类似于在一个本地环境如果编码依赖于状态则与流的切换状态有关的行为依赖于具体的实现参数必须是型的数组指针数组中以空宽字符结束但不包括结束空宽字符的宽字符代码序列被转换成一字节序列并且写出结果字节如果指明了精确度则不超出限制数的字节和完整的字符被写出如果没有指明精确度或者精确度大于转换的字节数组的大小那么宽字符数组必须用一空宽字符结束转换类似于在一个本地环境如果编码依赖于状态则与流的切换状态有关的行
23、为依赖于具体的实现返回如果成功返回被传送的字节数的返回值不包括结束空符如果输出发生错误则返回一负值查询区域环境信息名称确定程序本地环境格式说明根据当前本地环境的规则用适合于格式化的数字量货币和其他来设置结构中的成员结构中型的成员是指向串的指针其中任何一个除外都可以指向以示该值在当前本地环境不可用或者是长度为零型的成员是非负的数值其中任何一个可以是以示该值在当前本地环境不可用包括的成员如下注此处只说明中文处理需要增加的部分如果或在非负的格式化过的货币数值前面则置为如果在其后面则置为如果没有空格把符号或与一非负的格式化的货币数值分隔开则置为如果一个空格把符号与数值分隔开了则置为如果一个空格分隔了符
24、号和邻近的符号串则置为如果或在负的格式化过的货币数值前面则置为如果在其后面则置为如果没有空格把符号或与一负的格式化的货币数值分隔开则置为如果一个空格把符号与数值分隔开了则置为如果一个空格分隔了符号和邻近的符号串则置为和的值说明如下圆括号括起数量值和或者符号串在数量值和或者的前面符号串在数量值和或者的后面符号串直接在或者的前面符号串直接在或者的后面返回返回一指向被填充的目标的指针返回值指向的结构不可以被程序修改但可以被的后续调用盖写另外如果用或者来调用可以盖写结构中的内容名称语言信息格式说明返回一字符串指针该串中包含与程序的本地环境中定义的特殊语言或文化区域有关的信息说明的常量名和的值在中定义例
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GB 16681 1996 信息技术 开放系统 中文 界面 规范
