读一定长的文件。包含中文和英文。
如用ASCII读,位数对了。一个汉字是两个字符。也就是读一个汉字过去两位,而汉字都成了问号“?”;
StreamReader sr=new StreamReader("1.txt",Encoding.ASCII);
如果用default或是gb2312读,汉字算一个字符,读一个汉字过去一位,这样定长字符串就会出现位数偏差。
StreamReader sr=new StreamReader("1.txt",Encoding.Default);
如何使位数即是两位,又能是汉字??
比如1个txt文件.里面有汉字和有英文,我只知道前面200个字符(这里的200个字符是汉字算2个字符的)是我需要的内容我想通过StreamReader.Read(buffer,0,200)读出来,如何操作?
主要是是用uncode读会把汉字算算成1个字符,而用ascci读会把汉字读出来是乱码.我希望能在读取的时候让汉字算2个字节,但是读出来后不能是乱码. |