How to convert a text string to hex string?

后端 未结 3 1908
一向
一向 2021-01-18 14:06

Lets say I have a text string : \"Say Hello to My Little Friend\"

A function should return hex value as:

5361792048656c6c6f20746f204d79204c6974746c6520467269

相关标签:
3条回答
  • 2021-01-18 14:43

    You can do this like,

    NSString *str = @"Say Hello to My Little Friend";
    NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
    
    NSLog(@"data %@",data);
    

    Optput : data <53617920 48656c6c 6f20746f 204d7920 4c697474 6c652046 7269656e 64>

    Swift:

     let string = "Say Hello to My Little Friend"
     let data = string.dataUsingEncoding(NSUTF8StringEncoding)
    

    Swift 3:

     let string = "Say Hello to My Little Friend"
     let data = string.data(using: String.Encoding.utf8)
    
    0 讨论(0)
  • 2021-01-18 14:45

    Swift 4, Swift 3

    let hex: String = "ABC".unicodeScalars.filter { $0.isASCII } .map { String(format: "%X", $0.value) } .joined() print(hex) // correctly yields 414243

    0 讨论(0)
  • 2021-01-18 15:10

    Couldn't able to write in swift, but in Objective-C below code is may be what you are looking for:

        NSString * str = @"Say Hello to My Little Friend";
    
        NSString * hexString = [NSString stringWithFormat:@"%@",
                             [NSData dataWithBytes:[str cStringUsingEncoding:NSUTF8StringEncoding]
                                            length:strlen([str cStringUsingEncoding:NSUTF8StringEncoding])]];
    
        for(NSString * toRemove in [NSArray arrayWithObjects:@"<", @">", @" ", nil])
            hexString = [hexString stringByReplacingOccurrencesOfString:toRemove withString:@""];
    
        NSLog(@"hexStr:%@", hexString);
    

    Above code gives exact string as you given:

    5361792048656c6c6f20746f204d79204c6974746c6520467269656e64

    Hope it will help:)

    0 讨论(0)
提交回复
热议问题