%02.2hhxউচ্চ ভোটের উত্তরের ব্যাখ্যা :
%: xরূপান্তরকারী সুনির্দিষ্ট পরিচয় করিয়ে দেয় ।
02: রূপান্তরিত মানের সর্বনিম্ন প্রস্থ ২. রূপান্তরিত মানটির ক্ষেত্র প্রস্থের চেয়ে কম বাইট থাকলে, এটি 0বামে প্যাড করা হবে।
.2: xরূপান্তর নির্দিষ্টকারীর জন্য প্রদর্শিত সর্বনিম্ন সংখ্যার সংখ্যা দেয় ।
hh: নির্দিষ্ট করে যে x রূপান্তর সুনির্দিষ্ট একটি স্বাক্ষরিত চর বা স্বাক্ষরবিহীন চার্ট আর্গুমেন্টের জন্য প্রযোজ্য (আর্গুমেন্টটি সংখ্যার পদোন্নতি অনুসারে প্রচারিত হবে, তবে এর মান মুদ্রণের আগে স্বাক্ষরিত চর বা স্বাক্ষরবিহীন চরে রূপান্তরিত হবে)।
x: স্বাক্ষরবিহীন যুক্তিটি "dddd" স্টাইলে স্বাক্ষরবিহীন হেক্সাডেসিমাল ফর্ম্যাটে রূপান্তরিত হবে; "abcdef" অক্ষর ব্যবহৃত হয় যথার্থতা প্রদর্শিত হবার জন্য সর্বনিম্ন অঙ্কের সংখ্যা নির্দিষ্ট করে; রূপান্তরিত মানটি যদি কম সংখ্যায় উপস্থাপন করা যায় তবে এটি নেতৃস্থানীয় শূন্যগুলির সাথে প্রসারিত হবে। ডিফল্ট নির্ভুলতা ১। শূন্যের সুস্পষ্ট নির্ভুলতার সাথে শূন্য রূপান্তর করার ফলাফল কোনও অক্ষর হবে না।
আরও তথ্যের জন্য, আইইইই প্রিন্টফ স্পেসিফিকেশন দেখুন ।
উপরোক্ত ব্যাখ্যার ভিত্তিতে, আমি মনে করি এটি পরিবর্তন %02.2hhxকরা ভাল%02x বা%.2x ।
সুইফ্ট 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প্রিন্ট করেnewDeviceToken?