説明%02.2hhx
高い投票で答え:
%
:x
変換指定子を紹介します。
02
:変換された値の最小幅は2です。変換された値のバイト数がフィールド幅より少ない場合は0
、左側が埋め込まれます。
.2
:x
変換指定子に表示される最小桁数を指定します。
hh
:を指定します x
変換指定子がsigned charまたはunsigned char引数に適用されることを指定します(引数は整数の昇格に従って昇格されますが、その値は出力前にsigned charまたはunsigned charに変換されます)。
x
:符号なし引数は、「dddd」のスタイルで符号なし16進形式に変換されます。「abcdef」という文字が使用されます。精度は、表示される最小桁数を指定します。変換される値がより少ない桁数で表現できる場合は、先行ゼロで拡張する必要があります。デフォルトの精度は1です。ゼロの明示的な精度でゼロを変換した結果は、文字にはなりません。
詳細については、IEEE printf仕様を参照してください。
上記の説明に基づいて、またはに変更%02.2hhx
することをお勧めします%02x
%.2x
。
Swift 5では、次の方法がすべて実行可能です。
deviceToken.map({String(format: "%02x", $0)}).joined()
deviceToken.map({String(format: "%.2x", $0)}).joined()
deviceToken.reduce("", {$0 + String(format: "%02x", $1)})
deviceToken.reduce("", {$0 + String(format: "%.2x", $1)})
テストは次のとおりです。
let deviceToken = (0..<32).reduce(Data(), {$0 + [$1]})
print(deviceToken.reduce("", {$0 + String(format: "%.2x", $1)}))
// Print content:
// 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
NSLog
、版画、1つのnewDeviceToken
?