0
복사하지 않고 Data
에서 String
을 만들고 싶습니다. 내가 사용하려고 시도했습니다 String(bytesNoCopy:UnsafeMutableRawPointer, length:Int, encoding:String.Encoding, freeWhenDone:Bool)
복사하지 않고 데이터에서 문자열
아무리 노력해도 항상 nil을 반환합니다. String(bytes:..., encoding:...)
을 사용하여 생성하면 성공합니다.
바이트를 복제하지 않고 Data
개체에서 String
개체를 만들 수있는 방법이 있습니까? 다시 시도를 통해 다시가는
...
// get the data. This succeeds
guard var data = try? Data(contentsOf: url, options: .mappedIfSafe) else {
return .failed
}
//Tried:
let ptr = UnsafeMutableRawPointer(&data)
let str = String(bytesNoCopy: ptr, length: data.count, encoding: .utf8, freeWhenDone: false)
을 포함하여 실제 코드를 표시하는 모든 관련 데이터 액세스. – rmaddy