ios - 如何从NSString中删除08十六进制字符

标签 ios objective-c string hex

我有一个长字符串,我想从中删除一个特定的十六进制字符。

NSString * myString = @"longlongstringwithcharacters\"ofallsorts\"";

有什么建议?

我追求的十六进制字符是 08 ,它对应于退格键。如何使用以下代码代替它?我不知道如何在字符串中表示08:
NSString *stringWithoutSpaces = [myString 
   stringByReplacingOccurrencesOfString:@" " withString:@""];

编辑:

我会尽力澄清我要做什么。

我试图从作为有效载荷接收的字符串中删除所有出现的与08十六进制相对应的字符。

有效载荷采用字符串格式,我尝试使用Xcode调试器找出字符并查看字符串的十六进制代码,因为在尝试将与字符串相对应的NSData隐式转换为NSDictionary时,存在无效字符。

我不确定如何正确表达问题。

最佳答案

- (NSString *)stringFromHexString:(NSString *)hexString {

    // The hex codes should all be two characters.
    if (([hexString length] % 2) != 0)
        return nil;

    NSMutableString *string = [NSMutableString string];

    for (NSInteger i = 0; i < [hexString length]; i += 2) {

        NSString *hex = [hexString substringWithRange:NSMakeRange(i, 2)];
        NSInteger decimalValue = 0;
        sscanf([hex UTF8String], "%x", &decimalValue);
        [string appendFormat:@"%c", decimalValue];
    }

    return string;
}

试试这个代码...这将帮助您将十六进制转换为字符串

关于ios - 如何从NSString中删除08十六进制字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29890258/

相关文章:

ios - Cordova iOS 视频标签本地文件源

iOS 9 多行标签在集合可重用标题 View 中自动布局不起作用

.net - 在 .Net 中, "most terse"检查字符串是否为多个值之一的方法?

string - ExtJS 如何从字符串动态创建小部件和布局

php - 如何将字符串函数应用于表列?

ios - 淡入淡出图像数组 swift

ios - FBSDKCoreKit/FBSDKCoreKit.h 找不到错误

objective-c - 与父类(super class)属性名称和协议(protocol)方法名称冲突

ios - 以下代码是什么意思?为什么这里使用 "id"?

ios - 为什么Realm对象中没有我的属性?