怎么样从ascii 码转换成 unicode 码呢? liduke(天下有雪): 能不能稍微详细一点呢,我是初学者,Encoding.getstring()是把string转换成byte[] 吧 ,不过我想问的是ascii 码转换成 unicode 码的问题,谢谢!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我写错了,是把byte[] 传换成 string 忘了写结果,这样运行的结果是:得到一堆乱码 。但是要是把服务器端的data += Encoding.Unicode.GetString(bytes,0,bytesRec); 改为:data += Encoding.ASCII.GetString(bytes,0,bytesRec);对于英文可以正常,不过对中文不支持 ,求问大家这是怎么会事呢? FileStream fs1=new FileStream("c:\\text.txt",FileMode.Open); FileStream fs2=new FileStream("c:\\text2.txt",FileMode.Create); BinaryReader reader=new BinaryReader(fs1); BinaryWriter writer=new BinaryWriter(fs2); byte[] bs=reader.ReadBytes((int)fs1.Length); MessageBox.Show(bs.Length.ToString()); bs=System.Text.Encoding.Convert(System.Text.Encoding.ASCII,System.Text.Encoding.Unicode,bs); MessageBox.Show(bs.Length.ToString()); //textBox1.Text=string.Empty; writer.Write(bs); fs1.Close(); fs2.Close(); 中文是unicode编码嘛现在的windows都是unicode了一个双字,一个字节 我将中文按字节读出后,对应的ascii 为63,也就是“?”。此程序是ascii->unicode,出现?也就不足为奇了。 问题是为什么中文字符会在ascii中表示为63? 好奇怪,是不能用reader.ReadBytes((int)fs1.Length);读中文吗? 將中文轉換為bytes[]bytes[] bArr = Encoding.UTF-8.GetBytes(sContent);//繁體bytes[] bArr = Encoding.GetEncoding("GB18030").GetBytes(sContent)//簡體將bytes[]轉換為特定中文string sContent = Encoding.UTF-8.GetString(bArr);//繁體string sContent = Encoding.GetEncoding("GB18030").GetString(bArr);//簡體至於其他編碼,你可以查看函數Encoding.GetEncoding的幫助 金蝶软件怎么做二次开发? winform:窗体在panel里面打开后,怎样让窗体获得焦点 GridView的页码显示位置问题 请教一个literal问题,急!!!! 切换输入法问题 小弟今天刚学C#几个关于数组方面的问题不太明白 用SQL server 2000+c#做数据库如何做模糊查询??? 请教个文件夹遍历匹配的问题 请问如何用 c# 将一个文件档案(.doc)加密 WEB方式下验证用户登陆问题!(在线等) 为什么不能用程序控制窗口的位置? 在做asp.net项目时怎样得到让所有的异常到显示在一个统一的页面上,不让出现"“/xxx”应用程序中的服务器错误。"信息
FileStream fs2=new FileStream("c:\\text2.txt",FileMode.Create);
BinaryReader reader=new BinaryReader(fs1);
BinaryWriter writer=new BinaryWriter(fs2);
byte[] bs=reader.ReadBytes((int)fs1.Length);
MessageBox.Show(bs.Length.ToString());
bs=System.Text.Encoding.Convert(System.Text.Encoding.ASCII,System.Text.Encoding.Unicode,bs);
MessageBox.Show(bs.Length.ToString());
//textBox1.Text=string.Empty;
writer.Write(bs);
fs1.Close();
fs2.Close();
现在的windows都是unicode了
一个双字,一个字节
此程序是ascii->unicode,出现?也就不足为奇了。
bytes[] bArr = Encoding.UTF-8.GetBytes(sContent);//繁體
bytes[] bArr = Encoding.GetEncoding("GB18030").GetBytes(sContent)//簡體
將bytes[]轉換為特定中文
string sContent = Encoding.UTF-8.GetString(bArr);//繁體
string sContent = Encoding.GetEncoding("GB18030").GetString(bArr);//簡體至於其他編碼,你可以查看函數Encoding.GetEncoding的幫助