iOS中如何判断中英文混合的字符长度_IOS

废话不多说,直接给大家贴代码了。

一,代码。

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
//第一种方法
NSLog(@"--first-%i",[self convertToInt:@"123我爱你"]);
//第二种方法
NSLog(@"--second--%ld",[self getToInt:@"123我爱你"]);
}
//得到中英文混合字符串长度 方法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;
}
//得到中英文混合字符串长度 方法2
- (NSInteger)getToInt:(NSString*)strtemp
{
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
NSData* da = [strtemp dataUsingEncoding:enc];
return [da length];
}

二,输出。

2015-10-19 15:36:43.730 判断中英文混合的字符长度的两种方法[9311:234111] --first-9
2015-10-19 15:36:43.736 判断中英文混合的字符长度的两种方法[9311:234111] --second--9

以上内容是小编给大家介绍的iOS中判断中英文混合的字符长度的两种方法,希望对大家有所帮助!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索中英文字符长度
中英文混合字符串截取、php 中英文混合长度、js判断中英文长度、js判断中英文字符、中英文字符长度,以便于您获取更多的相关知识。

时间: 2024-10-31 22:01:51

iOS中如何判断中英文混合的字符长度_IOS的相关文章

在javascript中如何得到中英文混合字符串的长度

 本文为大家介绍下Javascript中如何得到中英文混合字符串的长度,下面有个不错的教程,感兴趣的朋友可以参考下 有同事在公司的OA上发了个贴子,介绍在javascript中如何得到中英文混合字符串的长度.    用的是正则表达式.     代码如下: var str = "坦克是tank的音译";  var len = str.match(/[^ -~]/g) == null ? str.length : str.length + str.match(/[^ -~]/g).leng

在javascript中如何得到中英文混合字符串的长度_javascript技巧

有同事在公司的OA上发了个贴子,介绍在javascript中如何得到中英文混合字符串的长度. 用的是正则表达式. 复制代码 代码如下: var str = "坦克是tank的音译"; var len = str.match(/[^ -~]/g) == null ? str.length : str.length + str.match(/[^ -~]/g).length ; 我查了一下书,有点明白了: 西文常用字符集由空格" "(0x20)到"~"

uitableview-求教:iOS中怎么判断汉字的首字母

问题描述 求教:iOS中怎么判断汉字的首字母 我需要在UITableView里根据姓氏首字母来分组显示人,然后根据索引来进行跳转.但现在的问题是不知道怎么判断姓氏的首字母,没法和索引的字母相关联. 解决方案 论坛里有相关的中文到拼音的转换程序,把他添加到工程里,再通过对拼音的截取,获取首字母,然后再做分组操作.

php 计算中英文混合字符串的长度

php 计算中英文混合字符串的长度 echo ccStrLen($str),'<hr>'; echo ccStrLeft($str,3); function ccStrLeft($str,$len) #从左边截取中英文混合字符串 { $ascLen=strlen($str);   if($ascLen<=$len) return $str; $hasCC=ereg("[xA1-xFE]",$str); #同上 $hasAsc=ereg("[x01-xA0]&

php中如何判断中英文字符

  PHP判断中英文的依据是字符的ASII值,而字符的ASII值也因编码不同而不同.为了能编写判断中英文字符的php程序,我们必须先来了解下各编码下中文英文字符的ASII值范围: 1. GBK (GB2312/GB18030) x00-xff GBK双字节编码范围 x20-x7f ASCII xa1-xff 中文 gb2312 x80-xff 中文 gbk 2. UTF-8 (Unicode) u4e00-u9fa5 (中文) x3130-x318F (韩文 xAC00-xD7A3 (韩文) u

在微软拼音2003中巧妙实现中英文混合输入

您输入的中文文本中,是否经常混有英文单词或英文缩略语?在中英文输入法之间频繁转换非常麻烦,那么微软2003提供了什么解决方案呢? 微软拼音2003提供了三种输入风格,无论哪一种输入风格,都会自动识别以大写开头的英文单词.如果是小写英文呢?只需要在输入英文结束后打回车(注意,可不是空格键啊!).不仅如此,微软2003还特别提供了中英文混合输入方式.它的设置步骤如下: 1. 点击输入法提示条中的"功能菜单"按钮(见图1),在下拉菜单中选择"输入选项"; 图1 功能菜单

浅析iOS中的浅拷贝和深拷贝(copy和mutableCopy)_IOS

ios提供了copy和mutablecopy方法,顾名思义,copy就是复制了一个imutable的对象,而mutablecopy就是复制了一个mutable的对象. copy与retain的区别: copy是创建一个新对象,retain是创建一个指针,引用对象计数加1.Copy属性表示两个对象内容相同,新的对象retain为1 ,与旧有对象的引用计数无关,旧有对象没有变化.copy减少对象对上下文的依赖. retain属性表示两个对象地址相同(建立一个指针,指针拷贝),内容当然相同,这个对象的

jdbc在读取access数据库中中文数据时出现的字符长度错误问题

问题描述 在进行java连接access数据库进行读取数据的时候原有数据限制了长度为varchar(12)在officeaccess界面直接输入了12个中文汉字但是在读取进入java后变成了原来的一半java工程字符集配置是utf-8在读取的时候设置了连接的参数字符集为GBK将java项目字符集改成GBK同样会出现这个问题请问一下有没有人知道为什么会出现这种情况并且如何解决注:同样条件下mysql就没有问题是不是access记录在写的时候按中文的字符长度算的在读取到java后按照字节的长度算的所

详解ios中的SQL数据库文件加密 (使用sqlcipher)_IOS

今天本想写一片 GAE+goAgent+SwitchySharp 的指南的!但是突然翻出了前段时间写的关于iOS中的SQL数据库文件加密的代码,于是乎决定今天就先讲讲这个!- 那么goAgent将放在周末,后续的文章中除了文件加密,还有传输数据加密,感兴趣的童鞋 敬请留意. 言归正传,sql的文件加密,我们首先要用到一个库,它就是大名鼎鼎的Sqlcipher,  奉上连接:http://sqlcipher.NET,在ios里 我们需要看的文档是这一篇http://sqlcipher.Net/io