记一笔UUID使用(二)

第二版

1.什么? 这次我在默默的先阅读文档,脑海里出现了一个不想承认的事实:32个字节,怎么是32个字节? 不是16个字节么,我还要UUID,
哪有那么多UUID可以发啊.默默流泪~~

2.不管他当当当
UIDevice *device = [UIDevice currentDevice];
NSString *deviceID = [device identifierForVendor].UUIDString;
NSData *data = [deviceID dataUsingEncoding:NSUTF8StringEncoding];
发过去啦,内心实在是不忍心,提前打了招呼,UUID有问题哦,先测其他的~唉

3.百度我又来了
32位字节的UUID,一回车
看到搜索的结果我不悲不喜,没有心情,突然看到网上一段代码有32位的UUID
UIDevice *device = [UIDevice currentDevice];
NSString *deviceID = [device identifierForVendor].UUIDString;
deviceID = [deviceID stringByReplacingOccurrencesOfString:@"-" withString:@""];
神马,这就是32位的UUID? 你觉得靠谱么,我反正是觉得不靠谱啊.神马32位,大哥你要坑我么,不过还是先保存下来,万一对了呢.

继续找.啊啊
没有,T_T头绪,

4.只能靠自己了,我现在有16位的字节数组,就不能转成32位的么,可以的,我得相信自己.
第一步,把16位的字节数组一个个打印出来,看看
-----> 224
-----> 218
-----> 112
-----> 183
-----> 32
-----> 197
-----> 72
-----> 176
-----> 188
-----> 254
-----> 215
-----> 75
-----> 198
-----> 254
-----> 64
-----> 9

5.还好在我哭死冥想之际,我之前给对方发过一封邮件: "你的uuid 协议中说明有问题,不应该是32位 » 对方给了一个这样的答复,我们这边已经修正好了,是有问题,但请你配合修改.这是神马节奏,我这是超神了么,一眼识破对方的诡计,唉.

6.继续查,不过他们提供了一个32位的样子给我,我连32位的UUID都没见过.是这样的 8EDA1562166843FCA9D34D5ED84B1EB 老手一眼就看穿了,但我就是菜鸟撒,经我们一个大神法眼一验,这是一个16进制的字符串,对,你没听错,就是16进制字符串.他让我恍然大悟,把16进制中得十进制转化为16进制,每个位上就是两个,一个字节成了两个字节.就是32个字节.我怎么这么聪明?他给我说的,哈哈.

7.方向已经明确,一切都已就绪,开转
当当当,百度上,
iOS 十进制转16进制, 回车, 果然一堆不靠谱的方法,我就不列举了.
说下我使用的 NSString *str = [NSString stringWithFormat:@"%x",ud];

8,开始发送,当当当,失败~唉,再次无语.

9,Debug 啊 Debug 啊 Debug 等等,我的字符串怎么只有31个字节
贴出来看看 e0da70b720c548b0bcfed74bc6fe409 而且为什么似曾相识.

被我终于识破,原来是字节数组中得9 转化应该是09 我没有保持位数,而且似曾相识是因为 我最开始的UUIDString字符串打印出来: E0DA70B7-20C5-48B0-BCFE-D74BC6FE4009
我被自己蠢哭了,用网上那哥们的方法,去掉横线就是我想要的32位字节.

为什么这么奇怪呢,两天已经过去啦啦啦啦啦有木有,程序员的时间就这样飞走啦

你可能感兴趣的:(记一笔UUID使用(二))