如何将文本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