C# 获取字符串实际长度(总字节数)中文2字节字母1字节
作者:C/S框架网|www.cscode.ne  发布日期:2021-05-05 12:27:11
  C# 获取字符串实际长度(总字节数)中文2字节字母1字节


1. 判断char>127的字符占2个字节,包括汉字,全角字符

C# Code:

/// <summary>
/// 获取字符串字节长度
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static int GetStringLen(string str)
{
  
int i = 0;//字节数
  
foreach (char newChar in str)
  {
    
if ((int)newChar > 127)
    {
      
//汉字
      
i += 2;
    }
    
else
    {
      i++;
    }
  }
  
return i;
}

//来源:C/S框架网 | www.csframework.com | QQ:23404761






2. 使用Unicode 字符编码表,汉字Unicode编码的区间为:0x4E00→0x9FA5
判断汉字占2个字节。


以下方法不统计全角字符的长度(慎用)



C# Code:

/// <summary>
/// 获取字符串实际长度,字节数量。
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static int GetStrLen(string str)
{
  
int charNum = 0; //统计字节位数
  
char[] _charArray = str.ToCharArray();
  
for (int i = 0; i < _charArray.Length; i++)
  {
    
char _eachChar = _charArray[i];
    
if (_eachChar >= 0x4e00 && _eachChar <= 0x9fa5) //判断中文字符
    
charNum += 2;
    
else
    charNum +
= 1;
  }
  
return charNum;
}

//来源:C/S框架网 | www.csframework.com | QQ:23404761




C/S框架网|原创精神.创造价值.打造精品

扫一扫加微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务

上一篇 下一篇