字节流转换中文

/// <summary>
        /// 计算在中文中的位置
        /// </summary>
        /// <param name="content">内容</param>
        /// <param name="start">在字节流中的位置</param>
        /// <returns></returns>
        private int GetIndexOfEditor(string content, int start)
        {
            int nIndex = -1;
           
            byte[] temp = Encoding.Default.GetBytes(content);

            for(int i=0;i<temp.Length;i++)
            {
                nIndex++;
                if (start == i)
                    break;

                byte b = temp[i];
                if (b >=0x81)
                {

                    i += 1;
                    
                }
               
               
                 
            }

            return nIndex;
        }

        
/// <summary>
        /// 查看在中文中的长度
        /// </summary>
        /// <param name="content"></param>
        /// <returns></returns>
        private int GetTextLength(string content)
        {
            if (string.IsNullOrEmpty(content))
                return 0;
            int nLen = 0;
            byte[] temp = Encoding.Default.GetBytes(content.Trim());
            for (int i = 0; i < temp.Length; i++)
            {
                nLen++;
                byte b = temp[i];
                if (b >= 0x81)
                {
                    i += 1;
                }
               
            }

            return nLen;
        }

原文地址:https://www.cnblogs.com/HeroBeast/p/1385442.html