byte[] byData;
char [] charData;
string str;
int x;
int count = 0;
FileStream aFile = new FileStream("../../../../设计/数据库/zx.txt", FileMode.Open);
str = "这个是点";
byData = new byte[21];
charData = new char[21];
aFile.Seek(0, SeekOrigin.Begin);
aFile.Read(byData, 0, 21);
Decoder d = Encoding.UTF8.GetDecoder(); d.GetChars(byData, 0, 21, charData, 0, true); //x = Convert.ToInt32(new string(charData));
//Console.WriteLine(byData[17]);
//d.GetChars(byData, 0, 2, charData, 0, true);
//x = Convert.ToInt32(new string(charData));
Console.WriteLine(charData);
Console.ReadKey();
我在文本中写入的数据为154这个是点way0515454515 为什么这个输入流在控制台上输出为154??????way0515454515 4个汉字按2个字符来算是8个字符,这里怎么少了两个字符呢?
我在写输出流的时候数据为 154this is new way0515454515 后来有输出"这个是点"从第三位替换,就成了"154这个是点way0515454515",
这说明替换掉了的是"this is new " 这12个字符,那么一个汉字有三个字符,请问这个怎么回事呢??
char [] charData;
string str;
int x;
int count = 0;
FileStream aFile = new FileStream("../../../../设计/数据库/zx.txt", FileMode.Open);
str = "这个是点";
byData = new byte[21];
charData = new char[21];
aFile.Seek(0, SeekOrigin.Begin);
aFile.Read(byData, 0, 21);
Decoder d = Encoding.UTF8.GetDecoder(); d.GetChars(byData, 0, 21, charData, 0, true); //x = Convert.ToInt32(new string(charData));
//Console.WriteLine(byData[17]);
//d.GetChars(byData, 0, 2, charData, 0, true);
//x = Convert.ToInt32(new string(charData));
Console.WriteLine(charData);
Console.ReadKey();
我在文本中写入的数据为154这个是点way0515454515 为什么这个输入流在控制台上输出为154??????way0515454515 4个汉字按2个字符来算是8个字符,这里怎么少了两个字符呢?
我在写输出流的时候数据为 154this is new way0515454515 后来有输出"这个是点"从第三位替换,就成了"154这个是点way0515454515",
这说明替换掉了的是"this is new " 这12个字符,那么一个汉字有三个字符,请问这个怎么回事呢??
解决方案 »
- 在C#中如何把SQL查询结果导出为XML放在程序日期下?
- 从内存分配角度看类型转换
- 急。。。父窗体当中获取当前的子窗体?
- Thread 中 Join 阻止线程 这个东西不太懂,来问问
- SHDocVw.InternetExplorer中打开网页并从中获取注册码
- VS 2005 团队版 跟 专业版有什么区别! RTM4200 为什么我下的版本号中有这个呢?
- net高版本发布低版本的兼容性
- 求助:在WinForm里如何根据DataGrid里某一行中某个值来改变该行的颜色??????
- 如何对表内数据进行合并?
- 在visual #中如何使用非安全模式编译?
- vs2005创建的WEBForm有显示控件,而vs2008 却毛病重重。
- 数据库连接类的问题!
試試這個 輸入是byte[] 輸出是string