当前位置:编程学习 > C#/ASP.NET >>

这样的数据为什么不能在网络上传播?

--------------------编程问答-------------------- 补充下,这样的数据并不是乱码,是一个算法输出的数据 --------------------编程问答-------------------- 这个不是乱码 字符集的问题 ??

输出的数据是MICROSOFT 中关键字部分不能输出的 要不要用\ 转义后输出 试一试

不懂,做一个标记 以后学习下 --------------------编程问答--------------------
引用 2 楼 xuejiayue1105 的回复:
这个不是乱码 字符集的问题 ??

输出的数据是MICROSOFT 中关键字部分不能输出的 要不要用\ 转义后输出 试一试

不懂,做一个标记 以后学习下


具体原因我也还没搞懂,但是问题解决了。
我在发端用了BytesToHexString()函数将它转化了,在收端再用HexStringToBytes()函数还原。这样就可以收发了。这两个函数如下:
void BytesToHexString(
  char * szHex,
  byte * bytes,
  int len
  )
{
int i;
ZeroMemory(szHex,2*len +1);
for (i = 0 ; i< len ; i++)
{
sprintf(szHex +2*i, "%02X",bytes[i]);
}
}

void HexStringToBytes(
  char * szHex,
  byte * bytes,
  int len
  )
{
int i;
char tmpStr[5]="0x";
char* lpEnd;
tmpStr[4] = 0;
ZeroMemory(bytes,len);
for (i = 0 ; i< len ; i++)
{
CopyMemory(tmpStr+2,szHex+2*i, 2);
bytes[i] = (BYTE)strtol( 
tmpStr,&lpEnd, 16 );
}
}
--------------------编程问答-------------------- 你发送的时候一定是使用了strlen计算过长度了。

发字符串是多此一举了。
--------------------编程问答-------------------- --------------------编程问答--------------------
引用 4 楼 jennyvenus 的回复:
你发送的时候一定是使用了strlen计算过长度了。

发字符串是多此一举了。


不用strlen,直接发送整个数组数据也行不通!
补充:.NET技术 ,  VC.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,