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

解决方案 »

  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.   

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

  6.   

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