NSDataをエンコードして確認する方法
NSDataをそのままログに出力しても何がなんだか分からない!
なので、エンコードしてログに出す方法を調べました。
方法は簡単。この1行だけ。
NSLog(@"data = %@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
ちゃんとエンコードされたのがログに出た!!
他にも下記のエンコードが使えます。
/* Note that in addition to the values explicitly listed below, NSStringEncoding supports encodings provided by CFString. See CFStringEncodingExt.h for a list of these encodings. See CFString.h for functions which convert between NSStringEncoding and CFStringEncoding. */ enum { NSASCIIStringEncoding = 1, /* 0..127 only */ NSNEXTSTEPStringEncoding = 2, NSJapaneseEUCStringEncoding = 3, NSUTF8StringEncoding = 4, NSISOLatin1StringEncoding = 5, NSSymbolStringEncoding = 6, NSNonLossyASCIIStringEncoding = 7, NSShiftJISStringEncoding = 8, /* kCFStringEncodingDOSJapanese */ NSISOLatin2StringEncoding = 9, NSUnicodeStringEncoding = 10, NSWindowsCP1251StringEncoding = 11, /* Cyrillic; same as AdobeStandardCyrillic */ NSWindowsCP1252StringEncoding = 12, /* WinLatin1 */ NSWindowsCP1253StringEncoding = 13, /* Greek */ NSWindowsCP1254StringEncoding = 14, /* Turkish */ NSWindowsCP1250StringEncoding = 15, /* WinLatin2 */ NSISO2022JPStringEncoding = 21, /* ISO 2022 Japanese encoding for e-mail */ NSMacOSRomanStringEncoding = 30, NSUTF16StringEncoding = NSUnicodeStringEncoding, /* An alias for NSUnicodeStringEncoding */ NSUTF16BigEndianStringEncoding = 0x90000100, /* NSUTF16StringEncoding encoding with explicit endianness specified */ NSUTF16LittleEndianStringEncoding = 0x94000100, /* NSUTF16StringEncoding encoding with explicit endianness specified */ NSUTF32StringEncoding = 0x8c000100, NSUTF32BigEndianStringEncoding = 0x98000100, /* NSUTF32StringEncoding encoding with explicit endianness specified */ NSUTF32LittleEndianStringEncoding = 0x9c000100 /* NSUTF32StringEncoding encoding with explicit endianness specified */ }; typedef NSUInteger NSStringEncoding;
どーしよー。
MacのデスクトップにHDアイコンを表示する方法
昔のOSではデスクトップにHDアイコンが表示されていたのにな〜と思い調べました。
そして見つけました。
Finderの環境設定にあったのか。
同じところで外部ディスクや接続中のサーバも表示できますね。
どーしよー。
UIWebViewからHTMLを取得する方法
UIWebViewでロードしたページのHTMLを取得するには、
UIWebViewDelegateメソッドの
- (void)webViewDidFinishLoad:(UIWebView *)webView;
で、下記の処理を実装します。
- HTML全体を取得する方法
NSString* html = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('html')[0].outerHTML"]; NSLog(@"html = %@", html);
- HTMLのHeaderを取得する方法
NSString* head = [webView stringByEvaluatingJavaScriptFromString:@"document.head.innerHTML"]; NSLog(@"head = %@", head);
- HTMLのBodyを取得する方法
NSString* body = [webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"]; NSLog(@"body = %@", body);
初めてプログラマみたいなことを書きました。
どーしよー。