             return false
         case .FCTypeInt8:
             return NSNumber(char: FCReadInt8(decoder))
+        case .FCTypeUInt8:
+            return NSNumber(unsignedChar:FCReadUInt8(decoder))
         case .FCTypeInt16:
             return NSNumber(short: FCReadInt16(decoder))
+        case .FCTypeUInt16:
+            return NSNumber(unsignedShort: FCReadUInt16(decoder))
         case .FCTypeInt32:
             return NSNumber(int: FCReadInt32(decoder))
+        case .FCTypeUInt32:
+            return NSNumber(unsignedInt: FCReadUInt32(decoder))
         case .FCTypeInt64:
             return NSNumber(longLong: FCReadInt64(decoder))
+        case .FCTypeUInt64:
+            return NSNumber(unsignedLongLong: FCReadUInt64(decoder))
         case .FCTypeFloat32:
             return FCReadFloat32(decoder)
         case .FCTypeFloat64:

        case FCTypeInt16
        case FCTypeInt32
        case FCTypeInt64
        case FCTypeFloat32
        case FCTypeFloat64
        case FCTypeData

    static func FCReadInt8(decoder : FCDecoder) -> Int8 {
        var value : Int8 = 0
        FCReadValue(&value, decoder: decoder)
        return value
    }
    
    static func FCReadUInt8(decoder : FCDecoder) -> UInt8 {
        var value : UInt8 = 0
        FCReadValue(&value, decoder: decoder)
        return value
    }

    static func FCReadInt16(decoder : FCDecoder) -> Int16 {
        var value : Int16 = 0
        FCReadValue(&value, decoder: decoder)
        return value
    }
    
    static func FCReadUInt16(decoder : FCDecoder) -> UInt16 {
        var value : UInt16 = 0
        FCReadValue(&value, decoder: decoder)
        return value
    }

    static func FCReadInt32(decoder : FCDecoder) -> Int32 {
        var value : Int32 = 0
        FCReadValue(&value, decoder: decoder)
        return value
    }
    
    static func FCReadUInt32(decoder : FCDecoder) -> UInt32 {
        var value : UInt32 = 0
        FCReadValue(&value, decoder: decoder)
        return value
    }
    
    static func FCReadInt64(decoder : FCDecoder) -> Int64 {
        var value : Int64 = 0
        FCReadValue(&value, decoder: decoder)
        return value
    }
    
    static func FCReadUInt64(decoder : FCDecoder) -> UInt64 {
        var value : UInt64 = 0
        FCReadValue(&value, decoder: decoder)
        return value
    }
    
