遍历字符串包含4字节汉字的解决方法

string juzi = "看𤡆看";
MessageBox.Show(juzi.Lenght.ToString());


代码执行后弹出的结果不是3,而是4,即变量juzi的长度为4,因为汉字“𤡆”占用了4个字节。
如果要遍历juzi内的汉字,当取到“𤡆”时,会把它当成两个汉字,这样就会出现乱码的情况。

用下面的方式可以解决遍历字符串中4字节汉字乱码的问题


StringInfo si = new StringInfo(juzi);
for (int i = 0; i < si.LengthInTextElements; i++)
{
   //截取下一个汉字
   string word = si.SubstringByTextElements(i, 1);
}