/// <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; }