欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#计算字符串长度,汉字算两个字符

程序员文章站 2022-06-19 19:16:27
在C#中的字符串类String中,有个Length属性表示字符串的长度,但该字段返回的是字符的个数,如果字符串中含有中文字符的话,一个汉字占用两个字符的长度,此时获取的长度就不够精确,当然也看具体业务需要。以下方法可用于计算字符串长度,字符串中的一个汉字计为两个字符。 备注:此文转载自C#计算字符串 ......

在c#中的字符串类string中,有个length属性表示字符串的长度,但该字段返回的是字符的个数,如果字符串中含有中文字符的话,一个汉字占用两个字符的长度,此时获取的长度就不够精确,当然也看具体业务需要。以下方法可用于计算字符串长度,字符串中的一个汉字计为两个字符。

/// <summary>
        /// 得到字符串长度,一个汉字长度为2
        /// </summary>
        /// <param name="inputstring">参数字符串</param>
        /// <returns></returns>
        public static int strlength(string inputstring)
        {
            system.text.asciiencoding ascii = new system.text.asciiencoding();
            int templen = 0;
            byte[] s = ascii.getbytes(inputstring);
            for (int i = 0; i < s.length; i++)
            {
                if ((int)s[i] == 63)
                    templen += 2;
                else
                    templen += 1;
            }
            return templen;
        }

 

备注:此文转载自c#计算字符串长度,汉字算两个字符_it技术小趣屋