1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import Foundation
- extension Data {
- var bytes : [UInt8]{
- return [UInt8](self)
- }
- }
- extension Data {
- struct HexEncodingOptions: OptionSet {
- let rawValue: Int
- static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
- }
-
- func hexEncodedString(options: HexEncodingOptions = []) -> String {
- let format = options.contains(.upperCase) ? "%02hhX" : "%02hhx"
- return map { String(format: format, $0) }.joined()
- }
- }
- extension Data {
- var hexDescription: String {
- return reduce("") {$0 + String(format: "%02x", $1)}
- }
- }
- extension Data {
- var format: String {
- let array = [UInt8](self)
- let ext: String
- switch (array[0]) {
- case 0xFF:
- ext = "jpg"
- case 0x89:
- ext = "png"
- case 0x47:
- ext = "gif"
- case 0x49, 0x4D :
- ext = "tiff"
- default:
- ext = "unknown"
- }
- return ext
- }
- }
|