我是新來的Swift,我想將一個字符串轉換爲十六進制字符串。我發現一個Objective-C函數把一個字符串轉換成十六進制。Swift3將字符串值轉換爲十六進制字符串
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);
現在我不能給這個函數轉換斯威夫特。目前我正在使用Swift3。
請有人能爲我做這個?
使用'if strData = str.data(using:.utf8){/ * ... * /}'構造一個'Data'實例,然後在[this answer]中使用'Data'擴展(http://stackoverflow.com/a/40089462/4573247)獲取以十六進制編碼的字符串('let hexStr = strData.hexEncodedString()')表示的數據。 – dfri