多字节字符串与宽字符字符串
在C语言编程中,用char表示一个ASCII字符占用1个字节,而用wchar_t表示一个UNICODE字符占用2个或4个字节。一个char类型的字符串以”\
在C语言中,还应该区分一个多字节字符串和宽字符字符串的概念。在多字节字符串中,每个字符的编码宽度都不等,可以是一个字节,也可以是多个字节。比如:
char * str = “Hello, world!您好,世界!”。
上面是一个多字节字符串。其中的英文字符占一个字节,而中文字符占2个字节。
而宽字符串中,每个字母占用的字节数是一样的。比如:
wchar_t *wstr = L“Hello, world!您好,世界!”
上面是一个宽字符串。其中每个字符,无论英文字母还是中文字符,都占2个字节。可以调用wctomb()等函数将宽字符串与多字节串进行相互转换。