【swift】Dataを16進数文字列のStringへ変換
swiftでData
の中身を見たい時にそのままprint
すると12Byteとかのlengthが表示されて中身が見れないので見れるようにString
へ変換してからprintしてあげます。
サンプルコード
let data = Data(bytes: [0x00, 0x02, 0xFF]) let hexString = data.map { String(format: "%02X", $0) }.joined() print(hexString)
コンソール出力結果
0002FF
Stringに対してmap
を使って全ての文字をフォーマットしています。
joined()で配列の要素を一つにまとめています
map(_:) - Array | Apple Developer Documentation
Arrayの全てのElementに何か処理をして[Element]を返したい時に便利!
swiftでbit単位の計算することほとんどないと思いますが…(自分はがっつりありますw)