public override DecodedObject <object> decodeString(DecodedObject <object> decodedTag, System.Type objectClass, ElementInfo elementInfo, System.IO.Stream stream) { if (!checkTagForObject(decodedTag, TagClasses.Universal, ElementType.Primitive, CoderUtils.getStringTagForElement(elementInfo), elementInfo)) { return(null); } DecodedObject <int> len = decodeLength(stream); CoderUtils.checkConstraints(len.Value, elementInfo); byte[] byteBuf = new byte[len.Value]; stream.Read(byteBuf, 0, byteBuf.Length); string result = CoderUtils.bufferToASN1String(byteBuf, elementInfo); return(new DecodedObject <object>(result, len.Value + len.Size)); }
public override DecodedObject <object> decodeString(DecodedObject <object> decodedTag, Type objectClass, ElementInfo elementInfo, Stream stream) { DecodedObject <object> result = new DecodedObject <object>(); int strLen = decodeLength(elementInfo, stream); skipAlignedBits(stream); if (strLen > 0) { byte[] val = new byte[strLen]; stream.Read(val, 0, val.Length); result.Value = CoderUtils.bufferToASN1String(val, elementInfo); } else { result.Value = (""); } return(result); }