// 下载DNA序列fasta文件
let url = URL(string: "https://raw.githubusercontent.com/BenjaminZhangbin/DNA_Sequence_Alignment/main/sample.fasta")!
// 方法1:String(contentsOf: URL).data(using: .utf8)
if let stringData = try? String(contentsOf: url).data(using: .utf8) {
print("Method 1: String to utf8 data: \n", stringData)
}
// 方法2:Data(contentsOf: URL)
if let data = try? Data(contentsOf: url) {
print("Method 2: Downloaded data: \n", data)
}
这两种方法的不同点在于,方法1先将下载到的数据转换成字符串,再将字符串转换成utf8编码的二进制数据;而方法2直接将下载到的二进制数据转换成Data对象。
在处理文本数据的时候,可以使用方法1。但是如果需要处理的是二进制数据(比如图像、音频、视频等数据),则应该使用方法2。