统计含中英文混编的NSString 字符串长度
將一個NSString類型字符串獲取的長度轉換成類似ASCII編碼的長度,如漢字2個字節,英文以及符號1個字節這個功能。
由于使用[NSString length]方法調用獲取的長度是一個中文和一個英文都是一個字節,而使用
[NSString lengthOfBytesUsingEncoding:NSASCIIStringEncoding] 方法無法識別中文編碼,真是令人揪心。
于是想獲得一個char*類型的字符串,然后自己遍歷一遍,將它整理為類似ASCII編碼的格式,這里要用到
[NSString cStringUsingEncoding:NSUnicodeStringEncoding]函數獲得一個const char*指針,然后對這個字符串進行遍歷,遇/0就跳過,否則length+1,下面是代碼,拿出來與大家分享:
-? (int)convertToInt:(NSString*)strtemp {
???????? int strlength = 0;
?? ? ?? char* p = (char*)[strtemp cStringUsingEncoding:NSUnicodeStringEncoding];
??????? for (int i=0 ; i<[strtemp lengthOfBytesUsingEncoding:NSUnicodeStringEncoding] ;i++) {
???????????? if (*p) {
??????????????? ???? p++;
???????????????????? strlength++;
???????????? }
?????? ? ?? else {
?????????? ? ?? p++;
?????? ? ? }
????? }
? ? ? return strlength;
}
轉載于:https://www.cnblogs.com/max5945/archive/2012/07/24/2606957.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的统计含中英文混编的NSString 字符串长度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华硕主板怎么开bios设置界面 华硕电脑
- 下一篇: win7怎么看蓝屏代码 win7如何查看