在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 "中国人民"
相关阅读 更多 +