我是获取的Octet String用String输出,输出的是一连串的2个16进制数 空格。;然后想对输出结果操作,得到我想要的值。
解决方案:private static string exchange(string input) { int number = (input.Length 1) / 3; string strReturn = ""; string[] strArray = input.Split(' '); byte[] byteArray = new byte[2]; byte[] retByte = new byte[strArray.Length]; int intTemp; string c; for (int i = 0; i < strArray.Length; i ) { intTemp = Convert.ToInt32(strArray[i], 16); if (intTemp > 122) { byteArray = new byte[2] { (byte) intTemp, (byte) Convert.ToInt32(strArray[i 1], 16) }; c = System.Text.Encoding.Default.GetString(byteArray); i ; } else c = Convert.ToChar(intTemp).ToString(); strReturn = strReturn c; } return strReturn; }
octet string是字节串,即用十六进制串表示字节序列。如真正的字节序列是 1 2 3 4,用字节串则表示为31 32 33 34,具体的转换方法为:
1、先看字节串有多长,因为一个字节要用到三个字符(两位数符加一个空格,如果有空格的话),然后将之除以3,得到字节的数目,然后由此申请空间,用GetMem或动态数组 SetLength均可;
2、取出每两个字符,用HexToBin转换为一个字节放到结果中;
3、跳过空格;
4、重复2、3直至串结束。
注意,看看你的实际的octet string中有没有空格,如果没有,则上面做相应调整。
0xFF:FD:FF:0F:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
这个数据是用工具取出来的?
如果是mib leaf的类型是PortList,那么根据PortList的定义,端口1~14,16~24,29~32在这个Vlan下。
字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,有小端、大端两种字节顺序。小端字节序指低字节数据存放在内存低地址处,高字节数据存放在内存高地址处;大端字节序是高字节数据存放在低地址处,低字节数据存放在高地址处。不同的CPU有不同的字节序类型,基于X86平台的PC机是小端字节序的;而网络字节序就是大端字节序。
Byte[]转十六进制
// 字节转十六进制
private static char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
internal static string ToHexString(byte[] bytes)
{
char[] chars = new char[bytes.Length * 2];
for (int i = 0; i < bytes.Length; i++)
{
int b = bytes[i];
chars[i * 2] = hexDigits[b >> 4];
chars[i * 2 + 1] = hexDigits[b & 0xF];
}
return new string(chars);
}
分类
分享到:
相关推荐
"ASN1OctetString"是ASN.1(Abstract Syntax Notation One)规范中的一个类型,用于表示一串八位字节序列。ASN.1是一种国际标准,广泛应用于各种网络协议、如X.509数字证书、PKI(Public Key Infrastructure)系统中...
可使用此格式,通过ASN1C生成完整的PKCS7签名C语言代码,实现诸如SM2算法数字签名及...因此相应的在生成的C代码中,凡涉及到CertificateSerialNumber类型的地方,都还需要将其TAG从4(OCTET STRING)改回成2(INTEGER)
1: sysDescr.0 (octet string) Hardware: x86 Family 16 Model 5 Stepping 3 AT/AT COMPATIBLE - Software: Windows 2000 Version 5.1 (Build 2600 Multiprocessor Free) [48.61.72.64.77.61.72.65.3A.20.78.38.36....
- `elementChineseName`和`elementEnglishName`使用`OCTET STRING`类型来表示元素的中文名和英文名。 - `abbreviation`用于表示元素的缩写。 #### SNMP协议在实际应用中的实现方式 为了实现SNMP协议的功能,实验中...
target.setCommunity(new OctetString("public")); target.setAddress目标Address); target.setVersion(SnmpConstants.version2c); // 创建Snmp对象 Snmp snmp = new Snmp(new UdpTransportMapping()); snmp.listen...
USM usm = new USM(SecurityProtocols.getInstance(), new OctetString(MPv3.createLocalEngineID()), 0); SecurityModels.getInstance().addSecurityModel(usm); // 用户安全配置 UsmUser user = new UsmUser...
USM usm = new USM(SecurityModels.getSecurityModel(MPv3.ID), new OctetString(MPv3.getLocalEngineID()), 0); snmp.setUSM(usm); UsmUser user = new UsmUser(new OctetString("yourSecurityName"), ...
对于mib中的integer,counter 等类型的值返回随机数,octet string类型的值返回字符串 "octetvalue", 同时这个软件可以发trap. 这个软件可以配合我写的mib browser一起用。 <br>zz1976@163.com
SecurityParameters securityParameters = new UsmSecurityParameters(new OctetString("securityName"), AuthMD5.ID, new OctetString("authKey"), PrivDES.ID, new OctetString("privKey")); ...
- **字符串**(OCTET STRING, IA5String, UTF8String等) - **枚举类型**(ENUMERATED) - **序列**(SEQUENCE) - **选择类型**(CHOICE) 其中,**序列**是一种重要的复合类型,可以用来表示一组有序的数据元素...
- 当解码a) RRC消息 PDUs,b)通过内容限制的BIT STING,或者c)通过内容限制的OCTET STRING,如果在一个解码后的RRC消息PDU,BIT STRING或者OCTET STRING末端有一个无关0或者非0bit,不需要PER解码器上报错误。...
- **C-OctetString(Hex)**:以NULL字符结尾的十六进制数字字符串,适合用于表示十六进制编码的信息。 - **OctetString**:任意由八位字符组成的字符串,不以NULL字符结尾,可用于存储任意形式的二进制数据。 ####...
- **Value**: 包含实际数据,根据不同的类型有不同的编码规则,如BOOLEAN、NULL、INTEGER、ENUMERATED、REAL、BIT STRING、OCTET STRING和OBJECT IDENTIFIER。 **3.1.2 各类型编码实例** - **BOOLEAN**: 只有...
简单类型是不能再分解类型,如整型(INTEGER)、比特串(BIT STRING)、字节串(OCTET STRING)、对象标示符(OBJECT IDENTIFIER)、日期型(UTCTime)等。结构类型是由简单类型和结构类型组合而成的,如顺序类型...
- **`OctetString`**、**`Integer32`** 和 **`UInteger32`**:分别表示八位组字符串、32位整数和无符号32位整数。 ##### 6. 设置安全参数 ```csharp AgentParameters aparam = new AgentParameters(SnmpVersion....
userSecModel.setLocalEngineID(EngineID.generate(new OctetString())); SecurityLevel secLevel = SecurityLevel.AUTH_PRIV; AuthProtocol authProtocol = AuthProtocol.DIGEST_MD5; PrivProtocol ...
3. **DisplayString**:类似于OCTET STRING,但是每个字节必须是ASCII码,常用于存储不超过255个字符的字符串。 4. **OBJECT IDENTIFIER (OID)**:用于唯一标识对象,由一系列整数组成,如1.3.6.1.2.1.1.1.0。 5. **...
USM usm = new USM(SecurityProtocols.getInstance(), new OctetString(MPv3.createLocalEngineID()), 0); SecurityModels.getInstance().addSecurityModel(usm); // 设置认证和加密参数 usm....