How do I convert UInt8 into an object of type Data and still keep it's original value, so that when I convert the Data object back to Uint8, I would get its original value?
You should better check the documentation of Data first.
Generally, Data is considered to be a collection of UInt8's, so it naturally keeps the original UInt8 values.
//UInt8 to Data let value: UInt8 = 123 let data = Data([value]) //Data to UInt8 let originalValue = data[0] print(originalValue) //->123 //[UInt8] to Data let arrValue: [UInt8] = [123, 234] let arrData = Data(arrValue) //Data to [UInt8] let originalValues = Array(arrData) print(originalValues) //->[123,234]
But, in many cases there are some ways you can handle your original values without converting Data to Array of UInt8.