NSString 用法总结与陷阱

                                                             NSString  用法总结与陷阱

 

 

1。  如何 从 std::string  转为 NSString ,也就是 Unicode

        (1) 使用  stringWithCString

 

       std::string strTime="1989:03:21"; NSString* showTime = [NSString stringWithCString: strTime.c_str() encoding:NSUTF8StringEncoding]; 

 

      (2) 使用  stringWithFormat 

       NSInteger year=1990; NSInteger month=10; NSInteger day=1; NSString * nsDateString= [NSString stringWithFormat:@"%4d年%2d月%2d日",year,month,day];

 

如果是从 string 转换为NSString,千万不要使用下面这样的代码:

std::string strName="ggboy"; NSString * nsName= [NSString stringWithFormat:@"%s",strName.c_str()];

 

要使用也使用下面的代码:

std::string strName="ggboy"; NSString * nsName= [NSString stringWithFormat:@"%@", [NSString stringWithCString:strName.c_str() encoding:NSUTF8StringEncoding] ];

 

2. 如何从 NSString转换为 std::string

使用 UTF8String 方法

NSString * nsfaceName=@"HELLO"; const char * lpfaceName = [nsfaceName UTF8String]; std::string strFaceName= [nsfaceName UTF8String];

 

3. NSString 怎么比较是否相等

NSString * beijin=@"北京市"; NSString * shanghai=@"上海市"; if([shanghai isEqualToString:beijin]) { //相等 }

 

4. NSString 怎么让 字符串相连相加

NSString * beijin=@"北京市"; NSString * shanghai=@"上海市"; NSString * nsResult=nil; nsResult=[beijin stringByAppendingString:shanghai];

 

 

 

你可能感兴趣的:(String,encoding)