最近总是用到转换成 c 的方法,很是头疼
数组,字母,和标点符号在 utf-8下都是1个字节,文字是3个字节
//字符串后边的是打印结果
// NSString *str = @"123";//49 50 51
// NSString *str = @"a123c";//97 49 50 51 99
// NSString *str = @"的哈a123c";//231 154 132 229 147 136 97 49 50 51 99
// NSString *str = @"的 哈a123c";//231 154 132 32 229 147 136 97 49 50 51 99
NSString*str =@"abc.5#";//97 98 99 46 53 35
//string--> data-->byte
NSData *testData = [str dataUsingEncoding: NSUTF8StringEncoding];//字符串转化成 data
Byte*testByte = (Byte*)[testDatabytes];
uint8_t*bytes =malloc(sizeof(*bytes)*testData.length);
for(inti=0;i<[testData length];i++)
{
NSLog(@"myByte = %d\n",testByte[i]);
bytes[i] = testByte[i];
}
//byte-->data-->string
NSData*adata = [[NSData alloc]initWithBytes:bytes length:testData.length];
NSString *result =[[ NSString alloc] initWithData:adata encoding:NSUTF8StringEncoding];
NSLog(@"result---%@",result);//就是上边你写的那个字符串
哈哈哈哈,开心不.转化成功.