字符串长度适配

截取字符串长度。通常情况下,中文以及中文标点符号占2字节,ASIIC编码占1字节,如果规定字符长度不超过8位,可通过以下方法

- (NSString *)nameLength:(NSString *)name{
    NSUInteger asciiLength = 0;
    NSMutableString *nameStr = [NSMutableString string];

    for (NSUInteger i = 0; i < name.length; i++) {
        unichar uc = [name characterAtIndex: i];
        asciiLength += isascii(uc) ? 1 : 2;
        NSString *strS = [name substringWithRange:NSMakeRange(i, 1)];
        if (asciiLength <= 16) {
            [nameStr appendString:strS];
        }else{
            [nameStr appendString:@"..."];
            return nameStr;
        }
    }

    return nameStr;
}

原文地址:https://www.cnblogs.com/jztsdwn/p/9087162.html

时间: 2024-08-30 15:19:46

字符串长度适配的相关文章

第7题:奇怪的国家&amp;第8题:字符串长度

第7题:奇怪的国家 有一个奇怪的国家,里面的国民对于事情的态度永远只有两面.当两个人遇到一起讨论一个事情的时候--两个持赞同观点的人遇到一起后会对这个事情都继续赞同:一个持赞同观点的人遇到一个持不赞同观点的人的时候,两人都会不再继续赞同:两个持不赞同观点的人遇到一起讨论后反而会对这个事情开始赞同. 输入包括两行,每行包括N个数字(1≤N≤50),分别表示两个人对于N个事情对应的看法--0表示不赞同.1表示赞同. 输出包括一行,包括N个数字,表示两人相遇后,对于这N件事情的最终看法. 样例输入 1

sizeof()和strlen()在求字符串长度时的差别

sizeof()函数输出字符串长度时会把结束符计算在内: strlen()函数输出字符串长度时不会把结束符计算在内. 如图:

统计NSString中英文字符串长度

计算NSString的字符长度,用length方法Returns the number of Unicode characters in the receiver,既是英文字符和中文汉字都是一个字符长度,如@“abcde我的”长度为7,而此长度和微博的输入字数实际上是不符的,在微博中,它的长度为5(实际是4.5,“abcde我的f” 的长度也是5),所以如果在UITextView中限制字符的长度,需要重新计算,如下: -------------------- 转载:http://mobileso

php中计算中文字符串长度、截取中文字符串

在做PHP开发的时候,由于我国的语言环境问题,所以我们常常需要对中文进行处理.在PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非PHP的核心函数,所以,它们常常有可能没有开启.当然,如果是用的自己的服务器,则只要在php.ini中开启即可.如果是用的虚拟主机,而服务器又没有开启这方面的函数的话,那就需要我们自己写出点适合咱国情的函数来了. 以下几个函数用起来颇为顺手的.不过要知道,得在utf-8环境下使用. header

PHP字符串截取,计算字符串长度

1 /** 2 * 字符串截取,支持中文和其他编码 3 * @param [string] $str [字符串] 4 * @param integer $start [起始位置] 5 * @param integer $length [截取长度] 6 * @param string $charset [字符串编码] 7 * @param boolean $suffix [是否有省略号] 8 * @return [type] [description] 9 */ 10 function msubs

php使用strlen()判断中文汉字字符串长度

php使用strlen()判断中文汉字字符串长度 对于含有中文情况,此时可以采用: iconv_strlen($str,"UTF-8"); iconv_strlen 是无论是何种编码,均能计算准确字符个数. aa

数组-----求字符串长度

//求字符串长度 #include"stdafx.h" #include<iostream> using namespace std; void main(){ char s[201]; int i = 0; cout << "Please enter a string(ended with enter):" << endl; cin.getline(s, 200); //cin.getline()的使用 while (s[i])

计算字符串长度,加车头

计算字符串长度,加车头.切换到IE模式下使用 0

JS判断字符串长度

这篇文章主要介绍了JS判断字符串长度的5个方法,并且区分中文和英文,需要的朋友可以参考下 目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: 代码如下: String.prototype.gblen = function() { var len = 0; for (var i=0; i<this.length; i++) { if (this.charCodeAt(i)>127 || this.charCodeAt(