昨日の続き:アスキーコード化→元のNSString文へ
昨日の記事はこちら。
「NSString型文字列をアスキーコード変換されたNSString文字として表示」
http://okogeki.hatenablog.com/entry/2014/04/27/211705
昨日の記事ではアスキーコード変換されたNSString文字として表示することまで
出来ました。
後はまたこれを元の文字列に戻すソース部分です。
ソースは下記の通り。
NSString *ascii = @"546573742e4f6b6f67656b69";
NSString *removedtext;
NSString *c;
NSScanner *scan;
NSString *result = @"";
unsignedint i_c;
for(int i=0; (![ascii isEqual:@""]);i++){
c = [ascii substringToIndex:2];
scan = [NSScanner scannerWithString:c];
removedtext = [ascii substringFromIndex:2];
ascii = removedtext;
[scan scanHexInt:&i_c];
result = [NSString stringWithFormat:@"%@%c",result,i_c];
}
NSLog(@"%@",result);
処理の流れは簡単で、2文字ずつ元の文から区切り、16進数としてint型として読み込み、それを%cと表示してNSStringに突っ込んで終わり。
処理は簡単ですけど、意外と行数が多くなってしまったと反省。
もう少し短く書けそうな気もするのですが、今のところ思いついてません。