Искам да запазя 128-битов UUID в 16-байтов низ, който ще се съхранява в Core Data като атрибут на индекс на моя ManagedObject, за да се гарантира ефективността на вмъкване и избор.
Има ли някакъв начин да съхраните 128-битов UUID в 16-байтов ASCII низ? Ако има, как да конвертирате между 32-байтов UUID низ и 16-байтов ASCII низ?
Опитах се да съхраня CFUUIDBytes в низ, използвайки кода по-долу, но стойността се промени след генерирането на низа. (ако някоя байтова стойност е > 127, стойността й се променя в генерирания низ)
CFUUIDRef uuidRef = CFUUIDCreate(kCFAllocatorDefault);
CFUUIDBytes uuidBytes = CFUUIDGetUUIDBytes(uuidRef);
NSString *utf8String = [NSString stringWithFormat:@"%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",
uuidBytes.byte0, uuidBytes.byte1, uuidBytes.byte2,
uuidBytes.byte3, uuidBytes.byte4, uuidBytes.byte5,
uuidBytes.byte6, uuidBytes.byte7, uuidBytes.byte8,
uuidBytes.byte9, uuidBytes.byte10, uuidBytes.byte11,
uuidBytes.byte12, uuidBytes.byte13, uuidBytes.byte14,
uuidBytes.byte15];