`

Octet String

阅读更多
我是获取的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);
   }
分类
分享到:
评论

相关推荐

    bcprov-jdk14-131src.zip_ASN1OctetString jar_DEROctetString_EJBCA

    "ASN1OctetString"是ASN.1(Abstract Syntax Notation One)规范中的一个类型,用于表示一串八位字节序列。ASN.1是一种国际标准,广泛应用于各种网络协议、如X.509数字证书、PKI(Public Key Infrastructure)系统中...

    PKCS7签名的ASN1格式

    可使用此格式,通过ASN1C生成完整的PKCS7签名C语言代码,实现诸如SM2算法数字签名及...因此相应的在生成的C代码中,凡涉及到CertificateSerialNumber类型的地方,都还需要将其TAG从4(OCTET STRING)改回成2(INTEGER)

    在windows上安装snmp服务

    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....

    基于snmp协议的网络管理技术

    - `elementChineseName`和`elementEnglishName`使用`OCTET STRING`类型来表示元素的中文名和英文名。 - `abbreviation`用于表示元素的缩写。 #### SNMP协议在实际应用中的实现方式 为了实现SNMP协议的功能,实验中...

    snmp4j编程简介.doc

    target.setCommunity(new OctetString("public")); target.setAddress目标Address); target.setVersion(SnmpConstants.version2c); // 创建Snmp对象 Snmp snmp = new Snmp(new UdpTransportMapping()); snmp.listen...

    javaSNMP获取设备数据.zip

    USM usm = new USM(SecurityProtocols.getInstance(), new OctetString(MPv3.createLocalEngineID()), 0); SecurityModels.getInstance().addSecurityModel(usm); // 用户安全配置 UsmUser user = new UsmUser...

    snmp4j包来读取snmp协议数据

    USM usm = new USM(SecurityModels.getSecurityModel(MPv3.ID), new OctetString(MPv3.getLocalEngineID()), 0); snmp.setUSM(usm); UsmUser user = new UsmUser(new OctetString("yourSecurityName"), ...

    snmp agent simulator 源码

    对于mib中的integer,counter 等类型的值返回随机数,octet string类型的值返回字符串 "octetvalue", 同时这个软件可以发trap. 这个软件可以配合我写的mib browser一起用。 &lt;br&gt;zz1976@163.com

    通过snmp的OID获取对方主机的内存利用率及CPU的使用率

    SecurityParameters securityParameters = new UsmSecurityParameters(new OctetString("securityName"), AuthMD5.ID, new OctetString("authKey"), PrivDES.ID, new OctetString("privKey")); ...

    ASN1规范

    - **字符串**(OCTET STRING, IA5String, UTF8String等) - **枚举类型**(ENUMERATED) - **序列**(SEQUENCE) - **选择类型**(CHOICE) 其中,**序列**是一种重要的复合类型,可以用来表示一组有序的数据元素...

    3GPP TS 36.331中文版

    - 当解码a) RRC消息 PDUs,b)通过内容限制的BIT STING,或者c)通过内容限制的OCTET STRING,如果在一个解码后的RRC消息PDU,BIT STRING或者OCTET STRING末端有一个无关0或者非0bit,不需要PER解码器上报错误。...

    USSD业务协议

    - **C-OctetString(Hex)**:以NULL字符结尾的十六进制数字字符串,适合用于表示十六进制编码的信息。 - **OctetString**:任意由八位字符组成的字符串,不以NULL字符结尾,可用于存储任意形式的二进制数据。 ####...

    BER编码规则和传输语法[收集].pdf

    - **Value**: 包含实际数据,根据不同的类型有不同的编码规则,如BOOLEAN、NULL、INTEGER、ENUMERATED、REAL、BIT STRING、OCTET STRING和OBJECT IDENTIFIER。 **3.1.2 各类型编码实例** - **BOOLEAN**: 只有...

    X509 数字证书结构的实例

    简单类型是不能再分解类型,如整型(INTEGER)、比特串(BIT STRING)、字节串(OCTET STRING)、对象标示符(OBJECT IDENTIFIER)、日期型(UTCTime)等。结构类型是由简单类型和结构类型组合而成的,如顺序类型...

    C#SNMP_SET举例

    - **`OctetString`**、**`Integer32`** 和 **`UInteger32`**:分别表示八位组字符串、32位整数和无符号32位整数。 ##### 6. 设置安全参数 ```csharp AgentParameters aparam = new AgentParameters(SnmpVersion....

    snmp的安装包-在使用snmp4j时

    userSecModel.setLocalEngineID(EngineID.generate(new OctetString())); SecurityLevel secLevel = SecurityLevel.AUTH_PRIV; AuthProtocol authProtocol = AuthProtocol.DIGEST_MD5; PrivProtocol ...

    SNMP的学习笔记(doc文档)

    3. **DisplayString**:类似于OCTET STRING,但是每个字节必须是ASCII码,常用于存储不超过255个字符的字符串。 4. **OBJECT IDENTIFIER (OID)**:用于唯一标识对象,由一系列整数组成,如1.3.6.1.2.1.1.1.0。 5. **...

    SNMP的get操作的实现——JAVA

    USM usm = new USM(SecurityProtocols.getInstance(), new OctetString(MPv3.createLocalEngineID()), 0); SecurityModels.getInstance().addSecurityModel(usm); // 设置认证和加密参数 usm....

Global site tag (gtag.js) - Google Analytics