         }
         return .universal
     }
-    
+
     public func isPrimitive() -> Bool {
         return (rawValue & 0x20) == 0
     }
     public func isConstructed() -> Bool {
         return (rawValue & 0x20) != 0
     }
-    
+
     public func tagNumber() -> TagNumber {
         return TagNumber(rawValue: rawValue & 0x1F) ?? .endOfContent
     }
-    
+
     public var description: String {
         if typeClass() == .universal {
             return String(describing: tagNumber())

        }
    }
}


        case characterString = 0x1D
        case bmpString = 0x1E
    }

    var rawValue: UInt8

    init(rawValue: UInt8) {
        self.rawValue = rawValue
    }

    public func typeClass() -> Class {
        for tc in [Class.application, Class.contextSpecific, Class.private] {
            if (rawValue & tc.rawValue) == tc.rawValue {
