length()方法返回字符串长度的时候就会出现偏差,对于一般的西文字母是没有问题的,但是对于中文字符却有问题了,它把一个中文字符当作一个字节来处理了,所以像字符串“你好QT”的长度返回的是4,而不是6。 因此我们如果要截取固定字符长度的中英文时可以使用以下方法。 QString text = QString ("一二三四五六七八九十"); text = QString::fromLocal8Bit(text.toLocal8Bit().mid(0,4));
参考自:
length()方法返回字符串长度的时候就会出现偏差,对于一般的西文字母是没有问题的,但是对于中文字符却有问题了,它把一个中文字符当作一个字节来处理了,所以像字符串“你好QT”的长度返回的是4,而不是6。 因此我们如果要截取固定字符长度的中英文时可以使用以下方法。 QString text = QString ("一二三四五六七八九十"); text = QString::fromLocal8Bit(text.toLocal8Bit().mid(0,4));
参考自: