C# 将字符串长度转换为十六进制值以添加到列表<;字节>;
我有一个添加了3个字节的列表,其中一个字节是动态传递给我的方法的字符串的长度。如何确定该字符串的长度并将int转换为list.add()方法中可以接受的值 代码如下:C# 将字符串长度转换为十六进制值以添加到列表<;字节>;,c#,.net,C#,.net,我有一个添加了3个字节的列表,其中一个字节是动态传递给我的方法的字符串的长度。如何确定该字符串的长度并将int转换为list.add()方法中可以接受的值 代码如下: string myString = "This is a sample string...I need its length"; int theLength = myString.Length; List<byte> lb = new List<byte>(); lb.Add(0x81); lb.Add(t
string myString = "This is a sample string...I need its length";
int theLength = myString.Length;
List<byte> lb = new List<byte>();
lb.Add(0x81);
lb.Add(theLength); // this doesn't work
lb.Add(0x04);
string myString=“这是一个示例字符串……我需要它的长度”;
int theLength=myString.Length;
List lb=新列表();
lb.Add(0x81);
lb.Add(长度);//这不管用
lb.Add(0x04);
TIA如果字符串的长度在字节范围内:
lb.Add((byte)theLength);
如果字符串的长度在字节范围内:
lb.Add((byte)theLength);
试试这个:
lb.AddRange(BitConverter.GetBytes(theLength))
当然,您可能会决定只需要最低有效位,在这种情况下,您可以执行简单的强制转换,或者索引到GetBytes()的结果中,在这种情况下,GetBytes()的长度为4字节
有关位转换器的详细信息:
试试这个:
lb.AddRange(BitConverter.GetBytes(theLength))
当然,您可能会决定只需要最低有效位,在这种情况下,您可以执行简单的强制转换,或者索引到GetBytes()的结果中,在这种情况下,GetBytes()的长度为4字节
有关位转换器的详细信息:
您必须将长度转换为
字节:
lb.Add((byte)theLength);
但正如您可能猜到的,您的长度并不总是适合一个字节。更具体地说,您希望如何处理字节列表,我们可能会提供更好的答案(例如使用/而不是字节列表)。您必须将长度转换为字节:
lb.Add((byte)theLength);
但正如您可能猜到的,您的长度并不总是适合一个字节。更具体地说,您希望如何处理字节列表,我们可能会提供更好的答案(例如使用/而不是字节列表)。字符串长度是否需要存储在一个单字节中?字符串长度是否需要存储在一个单字节中?doh!不知道为什么我没想到要试试这个。谢谢字符串在字节范围内的最大长度是多少@ChristopherJohnson最多255个字符,但如果您不想陷入麻烦,则应实施Redneck Jedi的建议,该建议无论字符串大小都有效。请注意,在这种情况下,字符串的长度将跨越多个字节。doh!不知道为什么我没想到要试试这个。谢谢字符串在字节范围内的最大长度是多少@ChristopherJohnson最多255个字符,但如果您不想陷入麻烦,则应实施Redneck Jedi的建议,该建议无论字符串大小都有效。请注意,在这种情况下,字符串的长度将跨越多个字节。