我,要把serialPort1.WriteLine("中国"); 发到串口!
不知道怎么弄者都是乱码/////////
用过 public static string EncodeBase64(string code_type, string code)
        {
            string encode = "";
            try
            {
                byte[] bytes = System.Text.Encoding.GetEncoding(code_type).GetBytes(code);
                encode = Convert.ToBase64String(bytes, 0, bytes.Length);
            }
            catch
            {
                encode = code;
            }
            return encode;
        } ////////////也不行哦有高手指点下吗? 非常感谢!!

解决方案 »

  1.   

    是编码问题
    Encoding.Default....就可以了
      

  2.   

    转成base64编码发出后,接收方要还原的
      

  3.   

    串口那头的设备是什么,支持Unicode字符集么?要用对方支持的字符集发送才行吧。
      

  4.   

    好晕,搞了两个小时还没有结果!!!!!!!!!!!不知道哪位大虾有 C#串口调试助手类的完整程序,实在希望能参考下!!这个外国的 rs232Demo.zip 难搞!我希望是程序 能发送中文,接收十六进制的数就OK了!(我现在只能是发英文,和发十六进制)晚了,明天再来看!
      

  5.   

    十六进制,ASCII码,十进制发过,中文,没搞过!
      

  6.   

                    string myStr = "中国";
                    byte[] bytes = System.Text.Encoding.Default.GetBytes(myStr);                port.Write(bytes, 0, bytes.Length);                串口调试助手以字符/十六进制接收时都显示为空白  
                      接收位加 4
                                  
      

  7.   

                     Encoding gb=System.Text.Encoding.GetEncoding("gb2312");
                     byte[] bytes = gb.GetBytes(richTextBox1.Text);                 serialPort1.Write(bytes, 0, bytes.Length);
    搞定了,加红那些请注意
      

  8.   

                     Encoding gb=System.Text.Encoding.GetEncoding("gb2312");
                     byte[] bytes = gb.GetBytes(richTextBox1.Text);                 serialPort1.Write(bytes, 0, bytes.Length);
    搞定了,加红那些请注意