字节转换问题

fanbingyuan 2011-01-29 03:22:50
先上代码

int byteLength = Encoding.Default.GetByteCount(datagramText);\\datagramtext为操作字符串
if (byteLength <= m_bufferManager.SendBufferSize)\\m_bufferManager.SendBufferSize定义缓存大小
{
int bufferOffset = m_bufferManager.GetSendBufferOffset(m_bufferBlockIndex);\\取得当前缓存位置
Encoding.Default.GetBytes(datagramText,0,byteLength,m_sendBuffer,bufferOffset);\\这里出错
}

将default编码方式改为ASCII没有问题
但是在default时抛出溢出异常
监视变量bufferoffset和byteLegth 在执行getbytes方法时,两个变量成为未声明变量,起初怀疑可能是变量缓存没有及时清理,重启仍然不行。
程序本身是个开源框架,默认编码为ASCII,但是不能发中文。改为Default测试,不能将字符串转换到m_sendBuffer中
...全文
72 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanbingyuan 2011-01-29
  • 打赏
  • 举报
回复
鄂。问题解决了,是GetBytes方法参数错了一个。
兔子-顾问 2011-01-29
  • 打赏
  • 举报
回复
描述了很多字,不过还是没明白你的问题。

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧