2016-10-17 16 views
6

Tek yapmak istediğim bir ip atmak ve onaltılık değerini almak. Bu post'u takip ediyorum.Swift kullanarak veri türünde bir değişkenin içeriğini nasıl yazdırabilirim?

let str = "Say Hello to My Little Friend" 
let data = str.data(using: String.Encoding.utf16) 
print("\(data!)") 

Ancak, benim kod sadece yazdırır:

"60 bayt \ n"

nasıl onaltılık değerini yazdırabilirsiniz İşte benim oyun alanında sahip kodudur? Başvuru için, bu olmalıdır:

5361792048656c6c6f20746f204d79204c6974746c6520467269656e64 

cevap

12

Sadece

print("\(data! as NSData)") 

PS: Sizin beklenen altıgenData Uint8 bir Sırası olduğundan .utf8

16

, sen her byte eşleştirebilirsiniz bir dize ve sonra onlara katılın:

data.map { String(format: "%02x", $0) }.joined() 
+1

Bunu daha iyi seviyorum kabul edilen cevap, programcıya çıkış formatının tam kontrolünü verdiğinden. – JeremyP

İlgili konular