- (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 (strength+1)/2;
}
由于使用[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 (strength+1)/2;
}
相关推荐
1. 获取字符串的长度:`NSUInteger length = [str length];` 2. 根据索引获得单个字符:`unichar c = [str characterAtIndex:5];` 3. 根据索引获得字符串的一个子串: * 截取字符从某个位置开始到末尾:`NSString *...
3. **长度和比较**: - 使用`length`方法可以获取字符串中的字符数,如`NSLog(@"length:%ld", (long)[str length]);`。 - `isEqualToString:`方法用于比较两个字符串是否相等,而`compare:`方法则提供了更灵活的...
本Demo将深入探讨如何使用`NSString`进行富文本处理,特别是字符长度计算的相关知识。 首先,`NSString`的富文本处理主要依赖于`NSAttributedString`类和它的扩展`NSMutableAttributedString`。这两个类允许我们...
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它将任意长度的数据转化为固定长度的128位(16字节)摘要。这个摘要具有不可逆性,即无法从摘要还原原始数据,因此常用于数据完整性校验和密码存储。在...
例如,你可以使用`isEqualToString:`来检查两个字符串是否相等,使用`length`属性获取字符串的长度,使用`substringToIndex:`或`substringFromIndex:`截取子串,以及使用`containsString:`检测字符串中是否包含特定...
newText = (newText as NSString).replacingCharacters(in: selectedRange, with: "") // 再添加新输入的字符 newText += string } else { // 没有选中,则直接在末尾添加新字符 newText += string } ...
密钥长度可以是128、192或256位,但在这个例子中,通常选择128位,因为它是最快且最广泛支持的。初始化向量是用于增加加密过程的随机性的另一个关键数据,通常也是128位。 接下来,你可以使用`CCCrypt`函数进行加密...
- 获取字符串长度: ```objective-c -(NSInteger)length; ``` - 获取字符串中特定位置的字符: ```objective-c -(unichar)characterAtIndex:(NSUInteger)index; ``` 除此之外,NSString还提供了一些常用的...
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它将任意长度的数据转化为固定长度的摘要,通常用于数据校验和密码存储。在iOS应用开发中,我们可能需要对NSString(字符串)或NSData(二进制数据)...
首先,我们需要理解iOS中的NSString对象提供了多种方法来获取字符串的长度。默认的length属性返回的是UTF-16编码下的字符数,这对于英文字符来说,每个字符对应一个UTF-16单元,但对于中文字符,每个汉字通常占用两...
+(CGFloat)getWidthByHeight:(CGFloat)height title:(NSString*)title font:(UIFont*)font { UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 0, height)]; label.text = title; label.font =...
- `length:`:获取字符串长度。 - `substringToIndex:` 和 `substringFromIndex:`:截取子字符串。 - `rangeOfCharacterFromSet:`:查找特定字符集内的字符。 - `containsString:`:判断字符串是否包含另一字符串。 ...
在iOS开发中,动态获取字符串高度是一项常见的任务,特别是在布局用户界面时,需要精确计算文本元素(如UILabel、UIButton)的高度以适应不同长度的文本。标题"动态获取字符串高度"和描述"根据文本内容,设定字体...
//设置数据长度 [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Contene-Type"];//设置数据格式 [request setHTTPBody:[strBody dataUsingEncoding:NSUTF8StringEncoding]];//...
在上述代码中,我们首先获取了当前TextField的文本长度,然后根据`range`和`replacementString`计算出如果输入新字符后文本的总长度。如果新的总长度超过16个字符,则返回NO阻止输入;否则允许输入。 ### 2. ...
此外,NSString还有许多其他功能,如获取字符串长度(`length`),分割字符串(`componentsSeparatedByString:`),查找子字符串位置(`rangeOfString:`),替换子字符串(`replaceOccurrencesOfString:withString:...
在iOS中,我们可以利用`NSString`的`sizeWithFont:constrainedToSize:`方法来计算字符串在特定字体和约束尺寸下的大小。例如,如果要获取不折行单行显示时的宽度,可以这样操作: ```swift let font = UIFont....
在iOS中,我们可以利用`NSFileManager`类来获取文件或文件夹的信息。以下是一个简单的示例,它演示了如何获取指定路径文件的大小: ```objc // 获取Documents目录路径 NSString *path = ...
1. **获取字符串长度**:使用`-[NSString length]`方法。 ```objective-c NSString *str1 = @"MACOSPro"; NSLog(@"长度是%d", [str1 length]); ``` 2. **字符串连接**: - 使用`-[NSString ...