using System;
using System.ComponentModel;
using System.Drawing;
using System.IO;
using System.IO.Ports;
using System.Threading;
using System.Timers;
using System.Windows.Forms;
using System.Xml;
using System.Text;
using System.Collections;
using System.Collections.Generic;
int fls = 0;
List<string> rls = new List<string>();
string cscs = string.Empty;
byte[] bytes = Encoding.Unicode.GetBytes(YOUR.Text);
foreach (byte b in bytes)
{
string bs = string.Format($"{b:X2} ");
rls.Add(bs);
fls++;
if (fls == 2)
{
fls = 0;
rls.Reverse();
rls.ForEach(m => { cscs += m; });
rls.Clear();
}
//cscs += bs;
}
cscs = cscs.Replace(" ", string.Empty);
//StatusInfo.Text += cscs + "\r\n";
//test encoding
string ucs2 = cscs;
//string ucs2 = @"226b";
List<byte> ba = new List<byte>();
int fl2 = 0;
List<byte> rl = new List<byte>();
for (int i = 0; i < ucs2.Length; i = i + 2)
{
try
{
string ss = ucs2.Substring(i, 2);
byte bs = Convert.ToByte(ss, 16);
rl.Add(bs);
fl2++;
if (fl2 == 2)
{
fl2 = 0;
rl.Reverse();
rl.ForEach(m => { ba.Add(m); });
rl.Clear();
}
// ba.Add(bs);
}
catch { }
}
byte[] db = ba.ToArray();
Encoding enc = Encoding.Unicode;
string es = enc.GetString(db, 0, db.Length);
//StatusInfo.Text += es + "\r\n";
//send
sp.WriteLine("AT+CTTS=1,\"" + cscs + "\";\r\n");//OK