我需要爲我的iOS用戶創建唯一的標識符。不幸的是,它將被保存到的數據庫具有30個字符的設置長度和CFUUID的數量是36(如果刪除破折號,則爲32)。我可以將CFUUID轉換爲30個字符或更少?
有沒有辦法讓它變成更小的字符串?我認爲CFUUID是十六進制的,那麼可以將它轉換爲完整的ASCII碼嗎?
我需要爲我的iOS用戶創建唯一的標識符。不幸的是,它將被保存到的數據庫具有30個字符的設置長度和CFUUID的數量是36(如果刪除破折號,則爲32)。我可以將CFUUID轉換爲30個字符或更少?
有沒有辦法讓它變成更小的字符串?我認爲CFUUID是十六進制的,那麼可以將它轉換爲完整的ASCII碼嗎?
Jeff Atwood在Equipping our ASCII Armor中對此進行了說明。 A Base64編碼的GUID導致22(24包括==
)個字節。還有其他ascii格式可以根據帖子使用,但Base64可能是數據庫服務器最友好的格式。
首先,使用類似https://stackoverflow.com/a/7318062/382374(確保刪除「 - 」s)將您的十六進制字符串轉換爲NSData。然後使用類似http://www.imthi.com/blog/programming/iphone-sdk-base64-encode-decode.php將NSData轉換爲base64。
這也是一個有用的工具:http://tomeko.net/online_tools/hex_to_base64.php?lang=en – Erik
謝謝喬,幫助。有一件事導致另一件事,我結束瞭解決方案的關閉http://stackoverflow.com/questions/882277/how-to-base64-encode-on-the-iphone完美滿足我的需求。 – Luke