3

我需要为我的 iOS 用户创建一个唯一的标识符。不幸的是,它将被保存到的数据库的设置长度为 30 个字符,而 CFUUID 为 36(如果删除破折号,则为 32)。

有没有办法把它变成一个更小的字符串?我认为 CFUUID 是十六进制的,所以可以将其转换为完整的 ASCII 吗?

4

2 回答 2

2

Jeff Atwood 在装备我们的 ASCII Armor中对此进行了介绍。Base64编码的GUID 产生 22 个(包括 24==个)字节。您还可以根据帖子使用其他 ascii 格式,但 Base64 可能对数据库服务器最友好。

于 2012-06-22T18:35:54.470 回答
0

首先,使用https://stackoverflow.com/a/7318062/382374之类的东西将您的十六进制字符串转换为 NSData (一定要去掉“-”)。然后使用http://www.imthi.com/blog/programming/iphone-sdk-base64-encode-decode.php之类的东西将 NSData 转换为 base64。

于 2012-07-05T20:20:16.333 回答