首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将NSString中的文本转换为等价的8字节ASCII十六进制,并存储回NSString中

将NSString中的文本转换为等价的8字节ASCII十六进制,并存储回NSString中
EN

Stack Overflow用户
提问于 2012-12-07 05:50:00
回答 1查看 2.4K关注 0票数 2

我想将NSString @"2525"转换为NSString @"0032003500320035"。十六进制"2"的8字节ASCII值是"0032""5"的ASCII值是"0035"。为了得到c-string的等价物,我试着..。

代码语言:javascript
复制
const char *pinUTF8 = [pin cStringUsingEncoding:NSASCIIStringEncoding];

...but,正如你所看到的,我正在努力解决这个问题,我知道这不会那么容易。有什么建议吗?

非常感谢您的智慧!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-07 05:58:25

试试这个:

代码语言:javascript
复制
NSString *str = @"2525";
const char *s = [str cStringUsingEncoding:NSASCIIStringEncoding];
size_t len = strlen(s);

NSMutableString *asciiCodes = [NSMutableString string];
for (int i = 0; i < len; i++) {
    [asciiCodes appendFormat:@"%04x", (int)s[i]];
}

NSLog(@"%@", asciiCodes);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13753244

复制
相关文章

相似问题

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