String 如何从字符串中获取最大字节数?
在.NET2.0中,我需要通过网络发送一些字符串,但在构建数据包时,我需要将它们限制为255字节 我打算用String 如何从字符串中获取最大字节数?,string,.net-2.0,String,.net 2.0,在.NET2.0中,我需要通过网络发送一些字符串,但在构建数据包时,我需要将它们限制为255字节 我打算用 UnicodeEncoding.GetBytes(char* chars,int charCount, byte* bytes, int byteCount) MSDN:) 但我无法使用/unsafe编译我的应用程序,因此这已过时 以下是我需要填写的基本方法: private void GenerateSNMPObjectPacket(String value, int maxByteC
UnicodeEncoding.GetBytes(char* chars,int charCount, byte* bytes, int byteCount)
MSDN:)
但我无法使用/unsafe编译我的应用程序,因此这已过时
以下是我需要填写的基本方法:
private void GenerateSNMPObjectPacket(String value, int maxByteCount)
{
int byteCount = Encoding.UTF8.GetByteCount(value);
if (byteCount > maxByteCount)
byteCount = maxByteCount;
byte[] valueBytes = new byte[byteCount];
//somehow get UTF8 bytes into valueBytes
//do what I do with my byte array
}
如果需要超过255个字节,该怎么办?@MarkByers您的意思是如果值大于UTF8字节的maxByteCount?然后值被截断。这就是(我相信)我不能使用的不安全方法所做的。文档中没有具体说明如何实现这一点。你希望得到什么?正好在第255字节截断?代码单元边界处的截断?在代码点边界处截断?@MarkByers我需要截断字符串,以获得255个或更少的UTF8字节。UTF8字符是1或2个字节,因此我将以254或255个字节结束。我正在测试我上面提到的方法,但我想这就是它的意义所在does@MarkByers显然,这种方法并没有达到我所想的效果,但我最初的求助请求仍然存在