Objective-Cのはなし.
UTF16のテキストファイルをUTF8に変換した後のバイト列(char*型)を取得するときにいろいろやったのでメモ.
なんかまわりくどいのですが,
NSString *str = [NSString stringWithContentsOfFile:@"hogehoge.txt" encoding:NSUTF16LittleEndianStringEncoding error:&error]; NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; NSString *str2 = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]; char *utf8chr = (char*)[str2 cStringUsingEncoding: NSUTF8StringEncoding];
でうまくいきました.
もっとスマートな方法があるんだと思うのですが.