首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过GSM调制解调器发送短信中的utf-8字符

通过GSM调制解调器发送短信中的utf-8字符
EN

Stack Overflow用户
提问于 2016-01-17 18:03:02
回答 1查看 937关注 0票数 1

我使用诺基亚5228发送短信通过COM端口,我得到错误的符号,当我发送UTF-8字符。英语单词很好用。

我怎样才能解决这个问题?

代码语言:javascript
复制
        public static string SMSMessage = "Привет";
        public static string CellNumber = "number...";

        private void Form1_Load(object sender, EventArgs e)
        {
            sp = new SerialPort();
            sp.PortName = "COM12";
            sp.Encoding = UTF8Encoding.UTF8;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {

                if (!sp.IsOpen)
                {
                    sp.Open();
                    this.sp.WriteLine(@"AT" + (char)(13));
                    Thread.Sleep(200);
                    this.sp.WriteLine("AT+CMGF=1" + (char)(13));
                    Thread.Sleep(200);
                    this.sp.WriteLine(@"AT+CMGS=""" + CellNumber + @"""" + (char)(13));
                    Thread.Sleep(200);
                    this.sp.WriteLine(SMSMessage + (char)(26));
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(string.Format("Exception : {0}", ex.Message), "Port Error");
            }
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-17 19:17:14

问题是,我不得不使用UCS2。

代码语言:javascript
复制
this.sp.WriteLine(StringToUCS2("Привет, привіт !@#%") + char.ConvertFromUtf32(26));
代码语言:javascript
复制
public static string StringToUCS2(string str)
        {
            UnicodeEncoding ue = new UnicodeEncoding();
            byte[] ucs2 = ue.GetBytes(str);

            int i = 0;
            while (i < ucs2.Length)
            {
                byte b = ucs2[i + 1];
                ucs2[i + 1] = ucs2[i];
                ucs2[i] = b;
                i += 2;
            }
            return BitConverter.ToString(ucs2).Replace("-", "");
        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34841715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档