记一笔UUID使用(二)

作者: 司马捷 | 来源:发表于2015-06-16 18:29 被阅读222次

    第二版

    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使用(二)

        本文链接:https://www.haomeiwen.com/subject/hvksqttx.html