4

我们需要使用用户生成的密码来做一些事情。
我们有密码包含 a 的情况ä,但是当我们从中创建 aCFDictionaryRef时,框架会将字符更改为\U00e4

const void *keys[] =   { somObj};
const void *values[] = { (CFStringRef)[passwords objectAtIndex:i] };

CFDictionaryRef optionsDictionary = CFDictionaryCreate(NULL, keys, values, 1, NULL, NULL);

有没有办法在目录中\U00e4替换为ä

4

1 回答 1

1

更有可能的是,您的字符串编码没有被保留。正如安东尼所说,\U00e4 ä。那是UTF-16。在 UTF-8 中,它是0xC3 0xA4. UTF-32? 0x000000E4.

您需要将密码视为原始数据的缓冲区。输入时——确保条目本身采用正确的编码——将其粘贴在 NSData 中并留在那里。

于 2013-06-28T15:28:36.103 回答