NSString *artist=@"王杰";
NSString *song=@"什么时候才能够";
转换后
Artist=8B737067&Title=C04E484EF66519504D62FD801F59
算法
-(NSString*)toUnichar:(NSString*)src
{
NSMutableString *arX=[NSMutableString string];
for (int i = 0 ; i<[src length]; i++) {
unichar ch= [src characterAtIndex:i];
unichar b = ((((unsigned long)(ch) & 0xff00) >> 8) | (((unsigned long)(ch) & 0x00ff) << 8));
[arX appendFormat:@"%X",b];
}
return arX;
}
反转
NSString*str=@"32003000310032003C68B1838E7FF397504E27595659ED70E8954C6BF266A86350830A00ED70E8950F5CF48B92634C889C69"
2012格莱美音乐大奖热门歌曲推荐
算法
-(NSString*)toString:(NSString*)uniStr
{
NSMutableString *outStr = [NSMutableString string];
int len=[uniStr length]/4;
unichar *oux=alloca(len*sizeof(unichar));
unichar *p = oux;
for (int i=0; i<[uniStr length]/4; i++) {
NSString *str=[uniStrsubstringWithRange:NSMakeRange(i*4, 4)];
unichar a =toInde([str characterAtIndex:0]);//3 3c
unichar b =toInde([str characterAtIndex:1]);//2
unichar c =toInde([str characterAtIndex:2]) ;//0 68
unichar d =toInde([str characterAtIndex:3]);//0
unichar x = c*16*16*16+d*16*16+ a*16+b;//十进制 3c68->683c
memcpy(p, &x, 2);
printf("%c,%x",*p,x);
p++;
}
NSString *x=[[NSString alloc] initWithCharacters:ouxlength:len];
return outStr;
}
int toInde(unichar x)
{
int i;
switch (x) {
case 48:
i=0;
break;
case 49:
i=1;
break;
case 50:
i=2;
break;
case 51:
i=3;
break;
case 52:
i=4;
break;
case 53:
i=5;
break;
case 54:
i=6;
break;
case 55:
i=7;
break;
case 56:
i=8;
break;
case 57:
i=9;
break;
case 65:
i=10;
break;
case 66:
i=11;
break;
case 67:
i=12;
break;
case 68:
i=13;
break;
case 69:
i=14;
break;
case 70:
i=15;
break;
default:
break;
}
return i;
}
-(NSString*)toUtf8Char:(NSString*)src
{
NSMutableString *arX=[NSMutableString string];
NSData *data=[src dataUsingEncoding:NSUTF8StringEncoding];
const char *p= [data bytes];
for (int i = 0 ; i<[data length]; i++) {
Byte ch = *p;
NSLog(@"%02X,%X",*p,ch);
p++;
[arX appendFormat:@"%X",ch];
}
return arX;
}
@"梁静茹丝路"转换后为