使用indy10tcp客户端发送包含0x0的数据咋处置呢

使用indy10tcp客户端发送包含0x0的数据咋处理呢?

TIdBytes MY_BS;
AnsiString M_S;
int Buf_len;

if(IdTCPClient_1->Connected())
{


//随便整理数据,
M_S = "00000" + Edit_data->Text;

MY_BS = M_S.BytesOf();//转成二进制

Buf_len = M_S.Length();

MY_BS.set_length(Buf_len);

MY_BS[0] = 0x18;
MY_BS[1] = 0x0;//这个是关键
MY_BS[2] = 0x02;
MY_BS[3] = 0x22;
MY_BS[4] = 0x28;

IdTCPClient_1->IOHandler->Write(MY_BS);

Memo_info->Lines->Add(M_S);
}
else
{
Memo_info->Lines->Add("已断开!" );
}


我调试了一下。
使用indy10tcp客户端发送包含0x0的数据咋处置呢

能看到,包含了0的数据,他自动截断了。
我的数据里有0这种数据,该咋发送呢?
谢谢。
------解决方案--------------------
发送了5个字节,接受的时候也取5个字节,看看后面字节对不对
------解决方案--------------------
包含0x0的数据,那么,发送/接收/显示,都不能当字符串,因为字符串遇到0x0就当作结束了。
------解决方案--------------------
不使用 AnsiString  改用 C++ 的标准 string 就可以了,反正我在VC下用string 处理 0 数据可以,BCB不知道