需由Socket发送的的数据包,如何才能得到指定的格式呢?
string sendStr = "534AC21100034A150098006666660000C9E8"; Socket sc = null;
byte[] byteSend = System.Text.Encoding.UTF8.GetBytes(sendStr.ToCharArray());
sc = (Socket)alSock[index - 1];
sc.Send(byteSend);
这样发出的数据,明显不对,可是如何才能得到想要的格式呢?应当是这样的:
比如“534AC21100048A570098006666660000C9E8”这个字符串,每两位是一个字节元,如53,4A等。我如何把这个string转为需要格式的byte[]呢?没查到资料,请高手指点
string sendStr = "534AC21100034A150098006666660000C9E8"; Socket sc = null;
byte[] byteSend = System.Text.Encoding.UTF8.GetBytes(sendStr.ToCharArray());
sc = (Socket)alSock[index - 1];
sc.Send(byteSend);
这样发出的数据,明显不对,可是如何才能得到想要的格式呢?应当是这样的:
比如“534AC21100048A570098006666660000C9E8”这个字符串,每两位是一个字节元,如53,4A等。我如何把这个string转为需要格式的byte[]呢?没查到资料,请高手指点
解决方案 »
- C#把PPT转换成HTML文档,并且HTML的背景如何设置呢
- C# 多线程问题;一个线程读取数据一个线程显示数据
- 如何在选择ComboBox中某一项的同时改变其显示的内容
- Winfrom 中DataGridView绑定时系统默认选择第一行.我不想让它选择该怎么处理??
- 网上找到MD5的两种实现方式区别没弄明白
- 怎样让datalistview中包含的控件的tooltip不显示出来,但里面填写了内容?
- 请教:关于ADO.NET连接数据库的问题???
- 求个正则
- C#关于word文档的操作
- 出错:在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级?
- 类型转换问题
- SQL的多表联合查询..问题~~~
/// 得到指定字符串的二制数组形式
/// </summary>
/// <param name="_Source">要转移的字符串</param>
/// <returns></returns>
public static byte[] ToBytes(string _Source)
{
try
{
byte[] Result = System.Text.Encoding.Default.GetBytes(_Source);
return Result;
}
catch(Exception myE)
{
throw myE;
}
}
就你这个想把如“534AC21100048A570098006666660000C9E8”这样的字符串拆分成2个字符转一个字节,没有什么直接的办法,c#没有提供按长度分割字符串的方法,但是可以循环使用SubString或者用正则表达式拆分。我觉得你需要好好考虑一下你们制定的收发协议。