在c#中汉字按照两个字节处理
时间:2011-02-05 来源:nicesoft
由于在.net中,c#默认是按照一个字节处理汉字,解决方法就是将需要解析的字符C#默认是Unicode编码,是按照一个字节处理汉字,这就会影响到我们精确截取带有汉字的字符串。如果要精确截取,首先需要将Unicode编码转换为ANSI编码,可以转换为Byte数组,之后按照数组截取字节即可。具体实现如下:
  //将汉字按照两位字节处理
    private string GBKSubstring(string s,int starIndex,int len)
    {
     byte [] bwrite;//byte内容
     bwrite = Encoding.GetEncoding("GB2312").GetBytes(s.ToCharArray());   
     return Encoding.Default.GetString(bwrite,starIndex,len);
    }
//调用:
  string s="asdfghjk中国人民zxcvbnm";
  string s1=GBKSubstring(s,8,8);//return "中国人民"
 相关阅读 更多 + 
    
  









