先上代码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中
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中
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货