strlen() 汉字

sizeof() 返回对象所占用的字节大小。   

strlen() 返回字符个数。

为了在CCLabelTTF上显示的文字更好的排列在屏幕上,要对字符串做换行显示,其中用到了strlen函数,可怎么调还是显示有问题,断点、单步调试,原来strlen求单个汉字长度时并不都是是2啊,跟系统所采用的字符编码方式有关。google 如下结果(原文地址:http://blog.csdn.net/gogor/article/details/4470775):

strlen("汉字")的值是多少?

这个问题的答案与系统所采用的字符编码方式有关:

1. utf-8

如果系统采用的是utf-8,那么strlen("汉字")=6,即一个汉字占用3个字节。linux系统默认情况下采用的该种编码方式。

2. gb2312

如果系统采用的是gb2312,则strlen("汉字")=4,即一个汉字占用2个字节。windows中文版采用的该种编码方式。

原文地址:https://www.cnblogs.com/fjut/p/2575407.html