在 swift 中将 nsdata 转换为字符串
convert a nsdata into string in swift
我想将我在 CoreData 中保存的图像转换为字符串以便我可以使用它(我不想将它直接转换为图像,因为我也需要将 image/string 发送到下一页).
这是我正在尝试的代码,但在 运行 时间内得到 BAD_EXC_Result
,因为它找到 nil
值但 tableImageArray[indexPath.row]
具有我将其传递给 if
语句时的值:
if tableImageArray[indexPath.row] != "" {
var _Image:String = String(data: tableImageArray[indexPath.row], encoding:NSUTF8StringEncoding)!
//(NSString(data:tableImageArray[indexPath.row], encoding:NSUTF8StringEncoding)) as String!
print(_Image)
}
尝试:
if let array = tableImageArray {
var _Image:String = String(data: array[indexPath.row], encoding:NSUTF8StringEncoding)!
//(NSString(data:array[indexPath.row], encoding:NSUTF8StringEncoding)) as String!
print(_Image)
}
您无法通过 UTF8 编码将图像数据直接转换为 String
。
只方式将NSData
转换成String
不管内容是base64编码。
let imageData = tableImageArray[indexPath.row]
let image = imageData.base64EncodedStringWithOptions([])
这只是我的猜测。
从数组的名称来看,tableImageArray
听起来像是图像数组,而不是字符串。所以我猜你正在尝试将图像转换为 NSData
,并将 NSData
转换为字符串。
但是,这不起作用。就像直接从 UIImage
转换为 String
是行不通的。
我猜你有以下任一意图:
1) 你想将图片进行base64编码为字符串。为此,您只需对数据调用 base64EncodedStringWithOptions([])
。
2) 你要识别并打印包含在UIImage
中的字符串。为此,您可能应该使用一些 OCR 库。只有 Google 他们!
我想将我在 CoreData 中保存的图像转换为字符串以便我可以使用它(我不想将它直接转换为图像,因为我也需要将 image/string 发送到下一页).
这是我正在尝试的代码,但在 运行 时间内得到 BAD_EXC_Result
,因为它找到 nil
值但 tableImageArray[indexPath.row]
具有我将其传递给 if
语句时的值:
if tableImageArray[indexPath.row] != "" {
var _Image:String = String(data: tableImageArray[indexPath.row], encoding:NSUTF8StringEncoding)!
//(NSString(data:tableImageArray[indexPath.row], encoding:NSUTF8StringEncoding)) as String!
print(_Image)
}
尝试:
if let array = tableImageArray {
var _Image:String = String(data: array[indexPath.row], encoding:NSUTF8StringEncoding)!
//(NSString(data:array[indexPath.row], encoding:NSUTF8StringEncoding)) as String!
print(_Image)
}
您无法通过 UTF8 编码将图像数据直接转换为 String
。
只方式将NSData
转换成String
不管内容是base64编码。
let imageData = tableImageArray[indexPath.row]
let image = imageData.base64EncodedStringWithOptions([])
这只是我的猜测。
从数组的名称来看,tableImageArray
听起来像是图像数组,而不是字符串。所以我猜你正在尝试将图像转换为 NSData
,并将 NSData
转换为字符串。
但是,这不起作用。就像直接从 UIImage
转换为 String
是行不通的。
我猜你有以下任一意图:
1) 你想将图片进行base64编码为字符串。为此,您只需对数据调用 base64EncodedStringWithOptions([])
。
2) 你要识别并打印包含在UIImage
中的字符串。为此,您可能应该使用一些 OCR 库。只有 Google 他们!