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

时间:2023-01-10 22:04:05
我在C#窗体的textbox控件中输入的中文
通过socket发送出去,但是接收方只接受UTF-8的中文
好像C#得默认编码是unicode,网上说所有的string都是unicode,那我怎么才能把textbox中得到的string转成utf-8?
说 Encoding.Convert(Encoding.Default, Encoding.UTF8,Encoding.Default.GetBytes(textbox.Text))这样是没用的?
试了好多办法都不行啊

11 个解决方案

#1


byte[] bytes = Encoding.UTF8.GetBytes(textbox.Text);

发送byte

#2


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);   

#3


你发送时,用Encoding.UTF8转一下就行了

#4


你发送时,用Encoding.UTF8转一下就行了

#5


引用 4 楼  的回复:
你发送时,用Encoding.UTF8转一下就行了

一条数据既包含英文数字也包含中文,发送前先要Md5加密,再把md5数组和原数据拼接并发送出去,接收方要进行md5验证
我发送前即使转换了,也验证不通过……

#6


该回复于2012-06-06 15:34:48被版主删除

#7


MD5验证先本地测试下,如果本地能通过,就要对比接收方的验证方法了。

#8


引用 7 楼  的回复:
MD5验证先本地测试下,如果本地能通过,就要对比接收方的验证方法了。

如果全部是英文就能通过,有中文就出错

#9


你把本地加密和验证的代码贴出来,问题肯定是自己这里了。

#10


自己搞定了,先转UTF8进行MD5,再加上原数据,最后一起转UTF-8发送,OK,散分给大家

#11


有木代码看下。

#1


byte[] bytes = Encoding.UTF8.GetBytes(textbox.Text);

发送byte

#2


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);   

#3


你发送时,用Encoding.UTF8转一下就行了

#4


你发送时,用Encoding.UTF8转一下就行了

#5


引用 4 楼  的回复:
你发送时,用Encoding.UTF8转一下就行了

一条数据既包含英文数字也包含中文,发送前先要Md5加密,再把md5数组和原数据拼接并发送出去,接收方要进行md5验证
我发送前即使转换了,也验证不通过……

#6


该回复于2012-06-06 15:34:48被版主删除

#7


MD5验证先本地测试下,如果本地能通过,就要对比接收方的验证方法了。

#8


引用 7 楼  的回复:
MD5验证先本地测试下,如果本地能通过,就要对比接收方的验证方法了。

如果全部是英文就能通过,有中文就出错

#9


你把本地加密和验证的代码贴出来,问题肯定是自己这里了。

#10


自己搞定了,先转UTF8进行MD5,再加上原数据,最后一起转UTF-8发送,OK,散分给大家

#11


有木代码看下。