如何将文本string转换为hexstring?

可以说我有一个文本string:“向我的小朋友问好”

函数应该返回hex值:

5361792048656c6c6f20746f204d79204c6974746c6520467269656e64

无法用swift编写,但在Objective-C下面的代码可能是你正在寻找的东西:

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); 

上面的代码给出了确切的string:

5361792048656c6c6f20746f204d79204c6974746c6520467269656e64

希望它会帮助:)

你可以这样做,

 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>

迅速:

  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) 

斯威夫特4,斯威夫特3

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