近做一个项目的时候碰到个小问题,银行的对帐单是一个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;
}
本文介绍了一种特殊格式TXT文件的处理方法,该文件每行固定169字节且包含中文字符。文章提供了使用byte数组而非字符串进行处理的技术细节,并分享了两个核心方法:从字符串获取字节数组及从字节数组还原为字符串。
88

被折叠的 条评论
为什么被折叠?



