Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 如何从字符串中获取最大字节数?_String_.net 2.0 - Fatal编程技术网

String 如何从字符串中获取最大字节数?

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

在.NET2.0中,我需要通过网络发送一些字符串,但在构建数据包时,我需要将它们限制为255字节

我打算用

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显然,这种方法并没有达到我所想的效果,但我最初的求助请求仍然存在