近做一个项目的时候碰到个小问题,银行的对帐单是一个TXT的文本文件,每行规定是169个字节(居然不给分割符,郁闷),但问题是其中包含了中文字符,如果用流的方式读时,在字符串处理上会在长度上产生误差(因为中文占两字节)用substring发现无法处理,后来就用byte[]的方式处理才成功,现在记录下来,免得下次弄的时候又要找来找去:
很简单的两个方法:注意是要用gb2312哦
private byte[] GetByteArrayFromString(string strline)
{
return Encoding.GetEncoding("gb2312").GetBytes(strline);
}
private string BytesToString(byte[] bs, int start, int bsLen)
{
string ss = Encoding.GetEncoding("gb2312").GetString(bs, start, bsLen);
return ss;
}