首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UTF16中的iOS NSString

UTF16中的iOS NSString
EN

Stack Overflow用户
提问于 2012-03-08 07:03:21
回答 2查看 10.9K关注 0票数 0

我有一个通过HTTP从Apache服务器获取的字符串:

代码语言:javascript
复制
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
    responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    ...

我需要将该字符串设置为UTF16字符串。我不想把它变成NSData。我需要保持它的NSString,我需要它在UTF16中。我很乐意把它放在一个NSData对象中,即使我可以像UTF16一样这样做。我现在也在做类似的事情:

代码语言:javascript
复制
[self.returnedData appendData:data];

但这仍然会将其作为UTF8进行传输。这可能很简单,但我错过了它。但我在苹果文档或这个网站上找不到它,我的Google-Fu也让我失望了。我遗漏了什么?我该怎么做?感谢您的时间和帮助。

编辑: Ok。你和贾斯汀所说的一切都是有意义的,让事情变得更有意义。这就是我正在做的事情。这行看起来是对的,但我想确认一下我对你的理解是正确的。

代码语言:javascript
复制
NSData *resultData = [self. result dataUsingEncoding:NSUTF16LittleEndianStringEncoding];
NSString *resultStr = [[NSString alloc] initWithData:resultData encoding:NSUTF16LittleEndianStringEncoding];
NSString *md5Result = [[NSString stringWithFormat:@"%@",[resultStr MD5]] uppercaseString];
NSLog(@"md5Result = %@",md5Result);

最后一部分就是我在UTF-16之后对字符串所做的事情。我有一个类别,使它成为一个类似于http://blog.blackwhale.at/?tag=hmac的MD5十六进制字符串,再次感谢。我会撞到你们两个,说这是正确的答案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-08 07:06:27

字符串就是字符串就是字符串。编码指的是如何对NSData进行编码和解码。@"blah“与@"blah”相同。其中任何一个都没有UTF8或UTF16。

添加了,因此您可以执行[@"myString" dataUsingEncoding:NSUTF16StringEncoding];

如果将其转换回字符串,仍然会有@"myString“

Answer下面评论中的最后一个问题。因此,当您发布到服务器时,服务器主体是编码的数据。所以你想做的就是对字符串做任何你想做的事情。然后使用特定的编码将字符串转换为数据,在本例中为NSUTF16StringEncoding或NSUTF16LittleEndianStringEncoding。您没有创建UTF-16字符串。您正在将unicode字符串转换为UTF-16编码数据。这就是你需要做的。

NSData *postBody = [[[self.result MD5] uppercaseString] dataUsingEncoding:NSUTF16LittleEndianStringEncoding];

如果需要向postBody添加更多数据,请改为创建NSMutableData,并根据需要追加新数据。

票数 5
EN

Stack Overflow用户

发布于 2012-03-08 07:07:18

NSString保存它选择的任何编码的缓冲区-可能是UTF-8、UTF-16或其他编码。

如果您只想从UTF-16序列创建一个NSString,那么可以尝试NSUTF16BigEndianStringEncoding或它的相关工具之一。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9610498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档