0

如何从目标 C(iOS SDK)中的文本输入中读取字符串,并将其视为 UTF-16,将字节编码为 base64?

我在这两个方面都在苦苦挣扎,既将文本框的值视为 UTF-16,然后将这些字节编码为 UTF-16。

我很欣赏在 SO 上可能存在部分或类似的问题,我已经搜索(并阅读了各种帖子),但我是一个 iOS/objective C 菜鸟,可以从这里的完整示例中真正受益。

谢谢

4

2 回答 2

4

使用转换NSString为 UTF16 编码NSData

[str dataUsingEncoding:NSUTF16StringEncoding]

然后将结果转换为 Base64,例如使用Converting between NSData and base64 stringsNSData的答案。

于 2013-01-30T22:33:46.223 回答
0

假设您知道如何获取值NSString*(这应该很简单),您可以使用以下方法获取 UTF-16 -getCharacters:range:

unichar *buffer = malloc(sizeof(unichar) * [str length]);
[str getCharacters:buffer range:NSMakeRange(0, [str length])];

这将为您提供一个unichar*缓冲区,它是一个 UTF-16 字符的缓冲区。

或者,如果您更喜欢使用NSData*,您可以使用

[str dataUsingEncoding:NSUTF16StringEncoding];
于 2013-01-30T22:34:16.283 回答