问题描述
在一个有1000字节的txt文件中包含有中文和英文.第10位开始有几个不确定数量的中文字符我用Reader.ReadToEnd()读的话中文只算一个字节.所以每次读取第31位的时候读取的字符总是不正确.不知道错在哪里了代码如下:StreamReaderobjReader=newStreamReader(strFileName,Encoding.Default);strText=Reader.ReadToEnd();strTemp=strText.Substring(31,13);而且每次读取的Reader.ReadToEnd的长度也因为中文字符的数量不一样导致字符数量不一样.
解决方案
解决方案二:
问题应该在这里:StreamReaderobjReader=newStreamReader(strFileName,Encoding.Default);先确定你的文件编码是什么,如果是UTF8,就使用Encoding.UTF8,GBK的用Encoding.GetEncoding("GBK").你不妨自己定义一个字符串,含中英文,Substring方法不会把中文拆开的,所以是你提取字符串时编码设置问题。
时间: 2024-10-30 04:05:40