IOS之NSString NSData char 相互转换
转自:http://blog.csdn.net/xialibing103/article/details/8513312
1.NSString转化为UNICODE String:(NSString*)fname = @“Test”;
char fnameStr[10];
memcpy(fnameStr, [fname cStringUsingEncoding:NSUnicodeStringEncoding], 2*([fname length]));
与strcpy相比,memcpy并不是遇到'\0'就结束,而是一定会拷贝完n个字节
2.NSString 转化为 char *NSString * str= @“Test”;
const char * a =[str UTF8String];
3.char * 转化为 NSString
NSString *str=[NSString stringWithCStringencoding:NSUTF8StringEncoding];
4.char * 转化 NSData方法一:
char * a = (char*)malloc(sizeof(byte)*16);
NSData *data = [NSData dataWithBytes: a length:strlen(a)];
方法二:
转换为NSString: - (id)initWithUTF8String:(const char *)bytes
然后用NSString的 - (NSData *)dataUsingEncoding:(NSStringEncoding)encoding 5.NSData 转化 char *NSData data ;
char* a=[data bytes]; 6.NSData 转化 NSString;
NSData* data;
NSString* aStr= [NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
7.NSString 转化 NSData对象NSData* xmlData = [@"testdata" dataUsingEncoding:NSUTF8StringEncoding];
NSString 转化 NSURL
//NSURL *url = [NSURL URLWithString:[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding ]];
NSString *urlString=[@"http://www.google.com/search?client=safari&rls=en&q=搜索&ie=UTF-8&oe=UTF-8" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL 转化 NSString
NSURL *url=[NSURL URLWithString:urlString];
NSString *s=[[url absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSArray *arr = [urlStr componentsSeparatedByString:@"&"]; NSURL *url = [NSURL URLWithString:[[arr objectAtIndex:0] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding ]]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; [request setHTTPMethod:@"POST"];
NSMutableArray *_array = [[NSMutableArray alloc] initWithCapacity:0]; for (int i = 1; i < [arr count]; ++i ){ NSString *str = [arr objectAtIndex:i]; [_array addObject:str]; } [_array componentsJoinedByString:@"&"]; NSData *data = [[_array componentsJoinedByString:@"&"] dataUsingEncoding: NSASCIIStringEncoding]; [request setHTTPBody:data];
// 发送请求并获得服务器反馈的数据 NSData *urldata = [AESEnCDeCViewController Get:url]; // 第一种 转换NSData数据到char*字符串 char * test = (char*)[urldata bytes]; std::string old = deaes(test); // 第二种 转换NSData到UTF8编码的NSString中再转换为char*字符串
// NSString *desStr = [[NSString alloc] initWithData:urldata encoding:NSUTF8StringEncoding];
// const char *desresult = [desStr UTF8String];
// std::string old = deaes(desresult); // 解密字字符串到明文
NSString *oldstr = [[NSString alloc] initWithCString:old.c_str()];
很多时候软件读取的中文网页编码集是gb2312,所以显示出来的是乱码。这时需要将NSString文字编码转换
1NSURL *url = [NSURL URLWithString:urlStr];
2NSData *data = [NSData dataWithContentsOfURL:url];
3NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
4NSString *retStr = [[NSString alloc] initWithData:data encoding:enc];
IOS之NSString NSData char 相互转换的更多相关文章
- NSString / NSData / char* 类型之间的转换
转自网络: NSString / NSData / char* 类型之间的转换 1. NSString转化为UNICODE String: (NSString*)fname = @“Test”; ch ...
- 【转】NSString / NSData / char* 类型之间的转换
原文 :http://www.cnblogs.com/pengyingh/articles/2341880.html NSString 转换成NSData 对象 NSData* xmlData = [ ...
- 转:NSString / NSData / char* 类型之间的转换
1. NSString转化为UNICODE String: (NSString*)fname = @“Test”; char fnameStr[10]; memcpy(fnameStr, [fname ...
- iOS中NSString转换成HEX(十六进制)-NSData转换成int
http://www.2cto.com/kf/201402/281501.html 1 2 3 4 5 6 NSString *str = @"0xff055008"; //先以1 ...
- iOS NSDictionary、NSData、JSON等 数据类型相互转换
1.NSDictionary类型转换为NSData类型: NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: @&qu ...
- string、const char*、 char* 、char[]相互转换(待整理)
string.const char*. char* .char[]相互转换(全) https://blog.csdn.net/rongrongyaofeiqi/article/details/5244 ...
- QString, Std::string, char *相互转换
Qt 库中对字符串类型进行了封装,QString 类提供了所有字符串操作方法,给开发带来了便利. 由于第三方库的类型基本上都是标准的类型,即使用std::string或char *来表示字符 (串) ...
- iOS 基础类解析 - NSData、NSMutableData
iOS 基础类解析 - NSData.NSMutableData 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致& ...
- iOS NSDictionary、NSData、JSON数据类型相互转换
iOS经常需要用到数据类型的转换,下面列举一下常用类型的转换. 1.NSDictionary类型转换为NSData类型: //NSDictionary -> NSData: NSDictiona ...
随机推荐
- PAC、KNN和GridSearchCV
PCA PCA主要是用来数据降维,将高纬度的特征映射到低维度,具体可学习线性代数. 这里,我们使用sklearn中的PCA. from sklearn.decomposition import PCA ...
- centos7+docker 安装和部署crawlab分布式爬虫平台,并使用docker-compose管理docker
1.先决条件centos7+docker最新版本 sudo yum updat 2.配置一下镜像源,创建/etc/docker/daemon.conf文件,在其中输入如下内容 { "regi ...
- 微信小程序 scroll-view 横向滚动条 隐藏无效
看了许多网上教程说是添加如下样式可以解决,我加入到组件wxss中无效,加入全局wxss生效. 添加css代码如下: ::-webkit-scrollbar { ; ; color: transpare ...
- [RN] React Native 使用 阿里 ant-design
React Native 使用 阿里 ant-design 实例效果如图: 一.安装 npm install antd-mobile-rn --save npm install babel-plugi ...
- Makefile之编译运行连接库方法
LIBS+= -L $$PWD/../HKUnifyCamera_one/Debug -lHKUnifyCamera -luuid -Wl,-rpath=$$PWD/../HKUnifyCamera_ ...
- java calendar获取系统当前小时数
calendar获取系统当前小时数 24小时制 Calendar calendar = Calendar.getInstance(); int curHour24 = calendar.get(c ...
- Linux上安装git并在gitlab上建立对应的项目
1.CentOS上面安装git我所用的CentOS为CentOS6.5,其他版本没有测试. yum install git 安装之后查看git版本信息 git --version 2.配置git信息g ...
- dockerfile 的问题 FROM alpine:3.8 temporary error (try again later)
FROM alpine:3.8 apk add xxx安装软件 fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX ...
- Harbor管理镜像
安装Harbor管理镜像服务 阅读目录 Harbor是什么? 搭建步骤 安装Docker.Docker-compose 下载Harbor离线包 配置harbor.yml 运行 ./install. ...
- HashMap源码2
public class test { @SuppressWarnings({ "rawtypes", "unchecked" }) public static ...