首页 > C > 字符串 阅读:57,774

多字节字符串与宽字符字符串

C语言编程中,用char表示一个ASCII字符占用1个字节,而用wchar_t表示一个UNICODE字符占用2个或4个字节。一个char类型的字符串以”\0”结尾。而一个wchar_t类型的字符串则以”\0\0”结尾。

C语言中,还应该区分一个多字节字符串和宽字符字符串的概念。在多字节字符串中,每个字符的编码宽度都不等,可以是一个字节,也可以是多个字节。比如:

char * str = “Hello, world!您好,世界!

上面是一个多字节字符串。其中的英文字符占一个字节,而中文字符占2个字节。

而宽字符串中,每个字母占用的字节数是一样的。比如:

wchar_t *wstr = L“Hello, world!您好,世界!

上面是一个宽字符串。其中每个字符,无论英文字母还是中文字符,都占2个字节。可以调用wctomb()等函数将宽字符串与多字节串进行相互转换。

周哥教IT,分享编程知识,提高编程技能,程序员的充电站。跟着周哥一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

当你决定关注「周哥教IT」,你已然超越了90%的程序员!

IT黄埔-周哥教IT技术交流QQ群:213774841,期待您的加入!

二维码
微信扫描二维码关注