为什么String类的SubString()函数在处理汉字的时候会出现这种奇怪的现象? 怎样修正? string 是unicode 的也就是说每个字符都是双字节的呵呵 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你把所有字符都当作双字节的就可以了(包括英文、数字、符号),并不会给你的定位带来混乱。unicode比你当字节的处理要优越的多,因为如果是单字节,你的定位要非常准确,否则就会出现乱码。如果你执意要使用单字节,你把定位和长度都除以2,不就可以了? 在C#中,所有的字符串缺省都是Unicode的,及不管是什么文字,一个字符都用两个字节表示,所以结果不是你设想中的情况 okstring first="纪念6/4"; byte[] bytes = System.Text.Encoding.Default.GetBytes(first); MessageBox.Show(System.Text.Encoding.Default.GetString(bytes,0,2)); MessageBox.Show(System.Text.Encoding.Default.GetString(bytes,1,2)); MessageBox.Show(System.Text.Encoding.Default.GetString(bytes,2,2));hope it helps 我认为你有可能在处理一个汉字与字符混和的文件。因为我遇到过这种情况。建议你用BinaryReader.ReadBytes()方法来读取。这样的话,你读取的应该是你的预期结果。 一个全排列的问题,急急急!!! 一个想不明白的问题? c# 监视注册表改动! 关于按钮动态添加事件的问题 winform 的界面弹出速度有点慢,有解救办法吗? 一个恐怖的问题...今天下午就要发布版本了...最后测试的时候出现了一个恐怖的问题.... 请思归大哥当我用DataGrid 绑定含有父表和子表的DataSet时如何始父表,和子表都可以修改,但都不能增加记录(即不显示有*的那一行就行) 关于工作流程控制 Visual Studio 插件开发 如何添加一个文件到项目中? 文本随机插入关键词 求所有的using指令集 请问怎么让一个MDI子窗体永远保持非最大化并且在所有子窗体最后
string first="纪念6/4";
byte[] bytes = System.Text.Encoding.Default.GetBytes(first);
MessageBox.Show(System.Text.Encoding.Default.GetString(bytes,0,2));
MessageBox.Show(System.Text.Encoding.Default.GetString(bytes,1,2));
MessageBox.Show(System.Text.Encoding.Default.GetString(bytes,2,2));
hope it helps
因为我遇到过这种情况。
建议你用BinaryReader.ReadBytes()方法来读取。
这样的话,你读取的应该是你的预期结果。