首页 > 编程知识 正文

字符型字节数,宽字符串长度

时间:2023-05-04 04:48:11 阅读:277594 作者:389

调查报告:了解单字节字符串、宽字符串 和多字节字符串等C/C++语言字符串表示方 法,总结其原理、存储、操作、应用等特 征,并编制报告。

单字节字符串(Single-Byte): 原理:每个字符用一个字节表示。这就决定了单字节字符集不可能包含256个以上 的字符。单字节字符包含拉丁文字母表,重音字符(accented characters)及ASCII标准和DOS操作系统定义的图形字符。存储:一个byte储存。单字节NULL字符(“”)的值是 0x00 并且指示终止空字符。操作: char类型操作。
应用:范围 0x00 到 0xFF。表示ASCII 字符集以及许多欧洲语言。

宽字符串(Wide Character),也称为Unicode字符。原理:Unicode是一种所有的字符都使用两个字节编码的编码模式。存储:2个字节存储。宽字符串使用两个字节表示的0作为它的结束标志。操作:wchar_t操作。应用:不论数字,英文,还是其他字符都用2个字节标识,大大提高了字符串的兼容性

多字节字符串:原理:多字节字符集 可能包括单字节和双字节字符。 储存:多字节字符串可以包含单字节和双字节字符混合。 两位的多字节字符有一个前导字节和尾字节。多字符字符串的结束标志也是一个单字节表示的0。 操作:在Shift-JIS编码中(一个常用的日文编码模式),0x81-0x9f之间和0xe0-oxfc之间的值表示"这是一个双字节字符,下一个子节是这个字符的一部分。“这样的值被称作"leadingbytes”,他们都大于0x7f。跟随在一个leadingbyte子节后面的字节被称作"trailbyte"。在某个多字节字符集内,前导字节位于某个特定范围内,尾字节也一样。 当这两种范围重叠时,可能需要计算上下文以确定某个给定的字节是用作前导字节还是尾字节。应用:对于诸如泰语和越南语之类的语言,一些遗留编码具有多字节字符集的一些复杂性,但是实际上仅仅基于组合字符,并且通常不与广义术语“多字节”混淆。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。