字符串形式是什么,什么是字符串
答案:1 悬赏:30 手机版
解决时间 2021-08-21 11:57
- 提问者网友:最爱你的唇
- 2021-08-21 06:05
字符串形式是什么,什么是字符串
最佳答案
- 五星知识达人网友:一叶十三刺
- 2021-08-21 06:34
字符串在形式语言范畴中定义为一个字母表(有限字符集合)中的有限个字符的有序集合。
通常所说的字符串,除了这个基本含义以外,还包含了它的表示形式。
由于字符能在计算机中以一个整数表示,对于每个字符占用空间相同的情况下(等宽字符串),用能够存放表示字符的整数的连续空间来保存字符串,同时使用长度或结束标志符信息。按宽度分,常用窄字符串(字符为1个字节,编码通常为ANSI,可以通过约束字符的值等方式扩展为不定宽度的MBCS(多字节字符串),例如中文系统中常用的ANSI+GBK),以及宽字符串(最常用的宽字符编码是Unicode,因此一般是指Unicode字符串)。
C/C++中对于等宽字符串使用数组或字符指针指针来引用,字符串结尾处加上每一位全部为0的字符'\0'(数值上等于整数0)标识,这种表示形式称为C风格字符串(C-style string)。最常用的字符串是指C-style字符串中,字符用char储存的版本,即C-style窄字符串。对于宽字符串,C/C++标准规定用wchar_t表示这个字符(宽度和字节序取决于实现,例如Mac平台下的工具中是2字节,对应编码UTF-16BE;Windows平台下的通常是2字节,对应编码UTF-16LE;GCC支持的是4字节,对应UTF-32,能放下所有Unicode字符),wchar_t数组或wchar_t指针是对应的字符串表示形式。C++标准库中用char或wchar_t字符串封装为std::string和std::wstring类,也是常见的实现方式。此外,还有Pascal中起始保存长度的字符数组等形式;以及一些字符串库中专用于处理非等宽字符串(例如UTF-8编码)等的表示形式。这些数据结构通常也称为字符串。
最后,具体到类C语言的语法上,包含了被作为字符串的字符的编译期符号,称为字符串字面量(内存布局和表示C-style窄字符串的char数组相同),也是通常所说的字符串。宽字符串字面量用L表示(内存布局同表示C-style宽字符串的wchar_t数组)。而字符常量用''和L''引用对引的字符来表示。
====
[原创回答团]
参考资料:原创
通常所说的字符串,除了这个基本含义以外,还包含了它的表示形式。
由于字符能在计算机中以一个整数表示,对于每个字符占用空间相同的情况下(等宽字符串),用能够存放表示字符的整数的连续空间来保存字符串,同时使用长度或结束标志符信息。按宽度分,常用窄字符串(字符为1个字节,编码通常为ANSI,可以通过约束字符的值等方式扩展为不定宽度的MBCS(多字节字符串),例如中文系统中常用的ANSI+GBK),以及宽字符串(最常用的宽字符编码是Unicode,因此一般是指Unicode字符串)。
C/C++中对于等宽字符串使用数组或字符指针指针来引用,字符串结尾处加上每一位全部为0的字符'\0'(数值上等于整数0)标识,这种表示形式称为C风格字符串(C-style string)。最常用的字符串是指C-style字符串中,字符用char储存的版本,即C-style窄字符串。对于宽字符串,C/C++标准规定用wchar_t表示这个字符(宽度和字节序取决于实现,例如Mac平台下的工具中是2字节,对应编码UTF-16BE;Windows平台下的通常是2字节,对应编码UTF-16LE;GCC支持的是4字节,对应UTF-32,能放下所有Unicode字符),wchar_t数组或wchar_t指针是对应的字符串表示形式。C++标准库中用char或wchar_t字符串封装为std::string和std::wstring类,也是常见的实现方式。此外,还有Pascal中起始保存长度的字符数组等形式;以及一些字符串库中专用于处理非等宽字符串(例如UTF-8编码)等的表示形式。这些数据结构通常也称为字符串。
最后,具体到类C语言的语法上,包含了被作为字符串的字符的编译期符号,称为字符串字面量(内存布局和表示C-style窄字符串的char数组相同),也是通常所说的字符串。宽字符串字面量用L表示(内存布局同表示C-style宽字符串的wchar_t数组)。而字符常量用''和L''引用对引的字符来表示。
====
[原创回答团]
参考资料:原创
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯