我需要为我的iOS用户创建一个唯一的标识符。不幸的是,它将保存到的数据库的设置长度为30个字符,CFUUID为36(如果删除破折号则为32个。)
有没有办法让它成为一个较小的字符串?我认为CFUUID是十六进制的,那么可以将它转换为完整的ASCII吗?
答案 0 :(得分:2)
Jeff Atwood在Equipping our ASCII Armor中介绍了这一点。 Base64编码的GUID导致22个字节(24个包含==
)个字节。您可以根据帖子使用其他ascii格式,但Base64可能是数据库服务器中最友好的格式。
答案 1 :(得分:0)
首先,使用类似https://stackoverflow.com/a/7318062/382374的内容将十六进制字符串转换为NSData(请务必删除“ - ”)。然后使用http://www.imthi.com/blog/programming/iphone-sdk-base64-encode-decode.php之类的东西将NSData转换为base64。