3 个解决方案
#1
octet string详细的定义是怎样的?
#2
octet string是字节串,即用十六进制串表示字节序列。如真正的字节序列是 1 2 3 4,用字节串则表示为31 32 33 34,具体的转换方法为:
1、先看字节串有多长,因为一个字节要用到三个字符(两位数符加一个空格,如果有空格的话),然后将之除以3,得到字节的数目,然后由此申请空间,用GetMem或动态数组+SetLength均可;
2、取出每两个字符,用HexToBin转换为一个字节放到结果中;
3、跳过空格;
4、重复2、3直至串结束。
注意,看看你的实际的octet string中有没有空格,如果没有,则上面做相应调整。
1、先看字节串有多长,因为一个字节要用到三个字符(两位数符加一个空格,如果有空格的话),然后将之除以3,得到字节的数目,然后由此申请空间,用GetMem或动态数组+SetLength均可;
2、取出每两个字符,用HexToBin转换为一个字节放到结果中;
3、跳过空格;
4、重复2、3直至串结束。
注意,看看你的实际的octet string中有没有空格,如果没有,则上面做相应调整。
#3
问题是snmp.Reply.Value[0]的取值类型是string,它取的对象却是octet string,取值类型不一致,这个如何处理啊
#1
octet string详细的定义是怎样的?
#2
octet string是字节串,即用十六进制串表示字节序列。如真正的字节序列是 1 2 3 4,用字节串则表示为31 32 33 34,具体的转换方法为:
1、先看字节串有多长,因为一个字节要用到三个字符(两位数符加一个空格,如果有空格的话),然后将之除以3,得到字节的数目,然后由此申请空间,用GetMem或动态数组+SetLength均可;
2、取出每两个字符,用HexToBin转换为一个字节放到结果中;
3、跳过空格;
4、重复2、3直至串结束。
注意,看看你的实际的octet string中有没有空格,如果没有,则上面做相应调整。
1、先看字节串有多长,因为一个字节要用到三个字符(两位数符加一个空格,如果有空格的话),然后将之除以3,得到字节的数目,然后由此申请空间,用GetMem或动态数组+SetLength均可;
2、取出每两个字符,用HexToBin转换为一个字节放到结果中;
3、跳过空格;
4、重复2、3直至串结束。
注意,看看你的实际的octet string中有没有空格,如果没有,则上面做相应调整。
#3
问题是snmp.Reply.Value[0]的取值类型是string,它取的对象却是octet string,取值类型不一致,这个如何处理啊