iosでgbkをbase 64復号する
どのようにiosでgbkをbase 64復号しますか?
まずgithubでBase 64をダウンロードするコーデックサードパーティコンポーネントをダウンロードします.
https://github.com/nicklockwood/Base64
ダウンロードしてプロジェクトにインポートし、テキストがUtf-8でエンコードされている場合は、復号直接呼び出し方法:
を選択します.
しかし、他の符号化、例えばGBKについては、空に戻る.
ソースコードを表示すると、コード部分は次のように書かれています.
そこで、この方法を拡張します.
GBKテキスト呼び出し復号方法:
やった!
まずgithubでBase 64をダウンロードするコーデックサードパーティコンポーネントをダウンロードします.
https://github.com/nicklockwood/Base64
ダウンロードしてプロジェクトにインポートし、テキストがUtf-8でエンコードされている場合は、復号直接呼び出し方法:
- (NSString *)base64DecodedString
{
return [NSString stringWithBase64EncodedString:self];
}
を選択します.
しかし、他の符号化、例えばGBKについては、空に戻る.
ソースコードを表示すると、コード部分は次のように書かれています.
return [[self alloc] initWithData:data encoding:NSUTF8StringEncoding];
そこで、この方法を拡張します.
+ (NSString *)stringWithBase64EncodedString:(NSString *)string withEncoding:(NSStringEncoding)encoding
{
NSData *data = [NSData dataWithBase64EncodedString:string];
if (data)
{
return [[self alloc] initWithData:data encoding:encoding];
}
return nil;
}
- (NSString *)base64DecodedString:(NSStringEncoding)encoding
{
return [NSString stringWithBase64EncodedString:self withEncoding:encoding];
}
GBKテキスト呼び出し復号方法:
NSStringEncoding gbkEncoding =CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
NSLog(@"base64 %@",[str base64DecodedString:gbkEncoding]);
やった!