首页 理论教育 字符的特点及字符集合在计算机领域的映射关系

字符的特点及字符集合在计算机领域的映射关系

时间:2023-10-25 理论教育 版权反馈
【摘要】:“字符”本身是个有趣的抽象概念。目前,在计算机领域,字符集合是在字符与整数值之间的一种映射关系。即使扩充到16位字符集,也无法将人类所知的所有字符放在同一字符集中。据说已经出现的32位字符集能保存每一个字符,但因字符数量庞大,不便于使用,尚未得到推广。字符类型的性质是由字符特征类定义的。字符特征类是下述模板的特例。标准字符串模板的实例类basic_string依赖于诸多类型和函数。

字符的特点及字符集合在计算机领域的映射关系

字符”本身是个有趣的抽象概念。例如,在纸上或者屏幕上,字符“C”仅仅是一段曲线而已。在计算机中,用一个8Byte存储该字符,并赋值67;字符“C”还是拉丁字母的第三个字母;在化学专业,字符“C”是原子碳的缩写形式;在计算机学科中,字符“C”又被用来表示一种程序设计语言的名字。目前,在计算机领域,字符集合是在字符与整数值之间的一种映射关系。

C++程序员通常假定能够使用美国字符集(ASCII),但C++允许程序员缺少某些字符的可能性。如果在程序开发过程中,源代码含有ASCII里所没有的字符,这是比较麻烦的。许多语言(例如中文、丹麦文、法文、冰岛文、日文)无法用ASCII中的字符正常写出来。即使扩充到16位字符集,也无法将人类所知的所有字符放在同一字符集中。据说已经出现的32位字符集能保存每一个字符,但因字符数量庞大,不便于使用,尚未得到推广。

C++语言允许程序员使用任何字符集作为字符串的字符,也允许程序员使用扩充字符集或可移植的数值编码。从原则上讲,字符串能以任何(带有正确的复制操作)类型作为其字符类型。标准字符串类string要求其中的字符不能包含用户自定义复制操作,有助于字符串I/O的简化与高效率。

字符类型的性质是由字符特征类(char_traits)定义的。字符特征类是下述模板的特例。(www.xing528.com)

所有字符特征类均定义在名称空间std中,标准的字符特征类由头文件<string>给出。通用字符串特征类char_traits本身不具有任何属性,只有针对特定字符类型的专门char_traits才具有属性。

标准字符串模板的实例类basic_string依赖于诸多类型和函数。若一个类型作为basic_string字符类型,必须提供支持上述功能的字符特征类(char_traits)。

C++的字符串模板实例化类basic_string中,还集合了大量的字符串处理函数。这些函数的使用方法将在2.3节介绍。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈