C# 获取字符串实际长度(总字节数)中文2字节字母1字节
C# 获取字符串实际长度(总字节数)中文2字节字母1字节
2. 使用Unicode 字符编码表,汉字Unicode编码的区间为:0x4E00→0x9FA5
判断汉字占2个字节。
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
/// 获取字符串字节长度
/// </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
/// 获取字符串实际长度,字节数量。
/// </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
扫一扫加微信
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网