iOS十六进制和字符串的相互转换

    NSString *dictString = [dict JSONFragment];//组合成的。 

用这个就行了。。。

    dictString==={"content":"Sadgfdfg","phoneno":"","email":"[email protected]"}=== 

    // 十六进制转换为普通字符串的。
    + (NSString *)stringFromHexString:(NSString *)hexString { // 

    char *myBuffer = (char *)malloc((int)[hexString length] / 2 + 1);
    bzero(myBuffer, [hexString length] / 2 + 1);
    for (int i = 0; i < [hexString length] - 1; i += 2) {
    unsigned int anInt;
    NSString * hexCharStr = [hexString substringWithRange:NSMakeRange(i, 2)];
    NSScanner * scanner = [[[NSScanner alloc] initWithString:hexCharStr] autorelease];
    [scanner scanHexInt:&anInt];
    myBuffer[i / 2] = (char)anInt;
    }
    NSString *unicodeString = [NSString stringWithCString:myBuffer encoding:4];
    NSLog(@"------字符串=======%@",unicodeString);
    return unicodeString; 

    } 

    //普通字符串转换为十六进制的。 

    + (NSString *)hexStringFromString:(NSString *)string{
    NSData *myD = [string dataUsingEncoding:NSUTF8StringEncoding];
    Byte *bytes = (Byte *)[myD bytes];
    //下面是Byte 转换为16进制。
    NSString *hexStr=@"";
    for(int i=0;i<[myD length];i++) 

    {
    NSString *newHexStr = [NSString stringWithFormat:@"%x",bytes[i]&0xff];///16进制数 

    if([newHexStr length]==1) 

    hexStr = [NSString stringWithFormat:@"%@0%@",hexStr,newHexStr]; 

    else 

    hexStr = [NSString stringWithFormat:@"%@%@",hexStr,newHexStr];
    }
    return hexStr;
    }
时间: 2024-08-27 12:52:45

iOS十六进制和字符串的相互转换的相关文章

iOS 十六进制和字符串转换

NSString *dictString = [dict JSONFragment];//组合成的. dictString==={"content":"Sadgfdfg","phoneno":"","email":"[email protected]"}=== // 十六进制转换为普通字符串的. + (NSString *)stringFromHexString:(NSString *)

iOS 十六进制的相加取反

ios中将NSstring字符串转换成char类型 NSString *string = [NSString stringWithFormat:@"5D"]; const char *result = [string UTF8String]; char字符转成NSstring char a[10] = "3Er4"; NSString *string = [NSString stringWithUTF8String:a]; 将char类型字符转成十进制类型,然后需要

Bean、List、Map、Array、String与JSON字符串的相互转换

import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.math.BigDecimal; import java.math.BigInteger; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map;

iOS中ASCII字符串转UTF8格式

iOS中ASCII字符串转UTF8格式,可调用下面这个方法: -(NSString *)gb2312toutf8:(NSData *) data { NSStringEncoding enc =             CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); NSString *retStr = [[NSString alloc] initWithData:data encoding:e

[C/C++]_[输出内存数据的二进制和十六进制的字符串表示]

场景: 1. 在读取文件或内存时,有时候需要输出那段内存的十六或二进制表示进行分析. 2. 标准的printf没有显示二进制的,而%x显示有最大上限,就是8字节,超过8字节就不行了. test_binary_hex.cpp #include <stdlib.h> #include <string.h> #include <stdio.h> #include <assert.h> #include <stdint.h> #include <i

判断是否十六进制格式字符串

/// 判断是否十六进制格式字符串             public bool IsHexadecimal(string str)        {            const string PATTERN = @"[A-Fa-f0-9]+$";            return System.Text.RegularExpressions.Regex.IsMatch(str, PATTERN);        } /// 判断是否八进制格式字符串            

C/C++ —— 十六进制类型字符串的转换

在实际工作中,字符串和其它数据类型的转换是很常见的,库函数有很多,比如 atoi , strtol , sscanf 等,这些函数网上有很多资料, 我经常用到的就是十六进制的数值以字符串的形式传输,然后又要解析,这里记录一下我这边的做法: 将2个字节的十六进制的字符串转成short int 2个字节的整形数据: 撰写不易,转载请注明出处:http://blog.csdn.net/jscese/article/details/39054969 short int xstrtoshortint(ch

将十六进制的字符串转化为UIImage

最近写一个项目,有验证码,但是接口返回的并不是验证码图片的URL,而是返回的字节数组16进制字符串.这样就需要把16进制字符串首先字节数组,其次再把字节数组转化为NSData,最后再把NSData转化为UIImage.其中最重要的是如何把16进制的字符串转换为字节数组.首先要把字节数组和16进制关联起来.1字节(byte)就是8个位(bit).一个位就代表一个0或1(即二进制) .4个二进制数组成一个十六进制数.这样就把16进制的字符串和字节数组关联起来了.总结出来就是1个字节(byte) =

iOS 7 计算字符串高度

- (float)width:(NSString *)str font:(UIFont *)font { NSDictionary *attribute = @{NSFontAttributeName:font}; CGSize size = [str boundingRectWithSize:CGSizeMake(_bgView.frame.size.width - 2*MARGIN_TOP, CGFLOAT_MAX) options: NSStringDrawingTruncatesLast