我可以将CFUUID转换为30个字符或更less?
我需要为我的iOS用户创build一个唯一的标识符。 不幸的是,它将被保存到的数据库具有30个字符的设置长度和CFUUID的是36(如果删除破折号,则为32)。
有没有办法让它成为一个更小的string? 我认为CFUUID是hex的,那么它可以将其转换为完整的ASCII?
杰夫·阿特伍德(Jeff Atwood)在装备我们的ASCII装甲时涵盖了这个。 Base64编码的GUID导致22(24包括==
)字节。 也可以使用其他ascii格式,但Base64可能是数据库服务器中最友好的格式。
首先,使用类似https://stackoverflow.com/a/7318062/382374 (确保删除“ – ”)来将您的hexstring转换为NSData。 然后使用类似http://www.imthi.com/blog/programming/iphone-sdk-base64-encode-decode.php将NSData转换为base64。