如题,在对一个字符串进行规定长度截取的时候遇到了如题所述的问题,这样汉字到时候就没法展现出来了,不知道各位大大有什么好的方法?或者说能否通过标志位的特征来进行判断?怎么判断,请不吝赐教

解决方案 »

  1.   

    GBK 亦采用双字节表示,总体编码范围为 8140-FEFE,首字节在 81-FE 之间,尾字节在 40-FE 之间双字节的截取按偶数来呗~~
      

  2.   

    谢谢。我想补充说明下: 整个字符串不全都是汉字,也有数字、字母等,顺序未知,这样如果按照len字节去分割,这样很难保证不把汉字给拆分,我的想法就是 if (str.GetAt(len) > 128),就将len -= 1;再截掉index从0到len的地方