统计含中英文混编的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
统计含中英文混编的NSString 字符串长度相关推荐
- PHP中英文截取函数,php字符串截取函数,支持中英文混体
php字符串截取函数,支持中英文混体,以前我们截取字符串都会用php自带的函数,今天我来看一下一款字符串截取函数,支持中英文混体的php代码实例吧. php字符串截取函数代码如下: function ...
- vue 统计中英文字符串长度_JS判断字符串长度的5个方法(区分中文和英文)
目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: String.prototype.gblen = function() { var len = 0; for (var i=0; ...
- 百度App Objective-C/Swift 组件化混编之路(一)
作者丨郭金.陈佳 来源丨百度App技术 一. 背景 1.1 Swift 发展历史 2010 年 7 月,克里斯(Chris Lattner)开始设计 Swift.完成基础架构后,克里斯带领开发小组陆续 ...
- 使用php语言 统计字符串,php如何查询字符串长度
[摘要] PHP即"超文本预处理器",是一种通用开源脚本语言.PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言.PHP独特的语法混合了C.Java.Perl以及 ...
- android ios 混合编程,React Native与原生(Android、iOS)混编,三端痛点解析
在做RN混编项目的时候或者面试的时候经常会遇到一些问题,总结起来有以下几种: 1.过多的注册RN组件( AppRegistry.registerComponent() ); 2.从原生跳转指定的RN页 ...
- 百度App Objective-C/Swift 组件化混编之路(二)- 工程化
作者丨张渝.郭金 来源丨百度App技术 前文<百度App Objective-C/Swift 组件化混编之路>已经介绍了百度App 引入 Swift 的影响面评估以及落地的实施步骤,本文主 ...
- 初探swift语言的学习笔记九(OC与Swift混编)
作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/34440159 转载请注明出处 如果觉得文章对你有所帮助,请通过留言 ...
- Swift和Objective-C混编注意事项
前言 Swift已推出数年,与Objective-C相比Swift的语言机制及使用简易程度上更接地气,大大降低了iOS入门门槛.当然这对新入行的童鞋没来讲,的确算是福音,但对于整个iOS编程从业者来讲 ...
- Swift和Objective-C混编
Swift和Objective-C混编的注意啦 2016-10-19 13:29 编辑: 不灭的小灯灯 分类:iOS开发 来源:仁伯安的简书 0 OCSwift混编 前言 Swift已推出数年,与O ...
最新文章
- 安全起见,这款 IDEA 插件赶紧删了吧!
- C# 学习笔记(16)ComboBox下拉列表框宽度自适应
- android指纹fingerprint学习总结
- DHCP数据抓包分析--wireshark
- 国内是否可以安装alexa_Alexa可以听到您无法听到的命令,哪些黑客可以利用
- 函数调用关系图如何画_程序是如何在 CPU 中运行的(二)
- java 签名 ecdsa_Java实现ECDSA签名算法
- mysql和oracle区别总结(二)
- TensorFlow指定特定GPU以及占用显存的比例
- Spark Shuffle 堆外内存溢出问题与解决(Shuffle通信原理)
- vue 日历插件ele-calendar
- XPS查看器(XPS Viewer)适用Win10系统安装说明
- 电脑上计算机无法搜索文件,怎么搜索电脑中的文件?电脑搜索文件教程
- c语言中等于号和大于号的优先级,C 读书笔记之 关系运算符重载 大于号 小于号 等于号==...
- MSP430番外——BSL介绍
- 云计算中心怎么选址?
- 您可以在哪里播放最喜欢的圣诞节特价商品
- 计算机大学生寒假实践报告吧,大学生计算机寒假社会实践报告心得
- 都不知道是不是resnet原始结构,keras实现....
- 游戏开发-GM系统的设计
热门文章
- 用宏定义实现函数值互换
- linux双小于命令,Linux文本比较命令:diff
- dhcp只能分配与路由器相同网段么_dhcp工作原理
- Knn算法(机器学习)入门(Python实现)
- Dimple.js基础
- set_union()和set_intersection()的用法
- android线程栈默认大小,线程的默认最大堆栈大小 - Internet Information Services | Microsoft Docs...
- 老大难的 Java ClassLoader,到了该彻底理解它的时候了
- Django + Nginx + Uwsgi + Celery + Rabbitmq 做一个高速响的应网站架构
- C#-Home / 详解Asp.Net Sql数据库连接字符串