IOS:将值字符串值转换为Unit_8

时间:2014-12-27 07:39:12

标签: objective-c iphone hex crc

我的字符串值为@“hello world”。我需要传递字符串值和crc命令我的crc命令在这里。我已经转换了这样的字符串

         Nsstring * total=@"hello world ";
         uint8_t *cString =  (uint8_t *)[total UTF8String];

                             Byte comm[5];
                             comm[0]=0x01;//START_BYTE_LEN
                             comm[1]=0X06;//PACKET_LENGTH_LEN
                             comm[2]=0x62;//COMMAND_ID_LEN
                             comm[3]=0x00;//SUB_TYPE_LEN
                             comm[4]=cString; //STRIN_len
                             comm[3]=-59;//CRC_LEN
                             comm[4]=-91; //CRC_LEN

我正在使用这些命令并写入外围设备以响应我的值011e6300000000000000000000000000000000000000000000000000e5e2。      我得到的实际响应为 63 ,但是当我传递了字符串值时       所有数据都是零。请帮帮我

1 个答案:

答案 0 :(得分:1)

你是如何传递价值的? 像这样转换它:

NSData *someData = [@"HELLO WORLD" dataUsingEncoding:NSUTF8StringEncoding];
const void *bytes = [someData bytes];
int length = [someData length];
uint8_t *cString = (uint8_t*)bytes;

然后回到字符串:

NSString *yourString = [[NSString alloc] initWithBytes:cString
                                       length:length
                                     encoding:NSUTF8StringEncoding];
NSLog(@"%@",yourString); -----> HELLO WORLD.

请参阅here.