C#中怎么设置默认编码为UTF-8?

考拉 2012-06-06 03:16:20
我在C#窗体的textbox控件中输入的中文
通过socket发送出去,但是接收方只接受UTF-8的中文
好像C#得默认编码是unicode,网上说所有的string都是unicode,那我怎么才能把textbox中得到的string转成utf-8?
说 Encoding.Convert(Encoding.Default, Encoding.UTF8,Encoding.Default.GetBytes(textbox.Text))这样是没用的?
试了好多办法都不行啊
...全文
3406 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dbjdiq 2012-11-13
  • 打赏
  • 举报
回复
有木代码看下。
考拉 2012-06-06
  • 打赏
  • 举报
回复
自己搞定了,先转UTF8进行MD5,再加上原数据,最后一起转UTF-8发送,OK,散分给大家
qldsrx 2012-06-06
  • 打赏
  • 举报
回复
你把本地加密和验证的代码贴出来,问题肯定是自己这里了。
考拉 2012-06-06
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
MD5验证先本地测试下,如果本地能通过,就要对比接收方的验证方法了。
[/Quote]
如果全部是英文就能通过,有中文就出错
qldsrx 2012-06-06
  • 打赏
  • 举报
回复
MD5验证先本地测试下,如果本地能通过,就要对比接收方的验证方法了。
考拉 2012-06-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
你发送时,用Encoding.UTF8转一下就行了
[/Quote]
一条数据既包含英文数字也包含中文,发送前先要Md5加密,再把md5数组和原数据拼接并发送出去,接收方要进行md5验证
我发送前即使转换了,也验证不通过……
bdmh 2012-06-06
  • 打赏
  • 举报
回复
你发送时,用Encoding.UTF8转一下就行了
bdmh 2012-06-06
  • 打赏
  • 举报
回复
你发送时,用Encoding.UTF8转一下就行了
dxf1219 2012-06-06
  • 打赏
  • 举报
回复
void of_SendMessage(string IP, int Port ,string Mess)
{
IPEndPoint MyRemoteEndPoint = new IPEndPoint(IPAddress.Parse(IP), Port);
UdpClient MyClient = new UdpClient();
Byte[] MyData = System.Text.Encoding.UTF8.GetBytes(Mess);
MyClient.Send(MyData, MyData.Length, MyRemoteEndPoint);
}
dalmeeme 2012-06-06
  • 打赏
  • 举报
回复
byte[] bytes = Encoding.UTF8.GetBytes(textbox.Text);

发送byte

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧