How to check if an array of bytes is a valid UTF-8 string in Swift

1 Answer

0 votes
import Foundation

func isValidUTF8(_ data: Data) -> Bool {
    if let _ = String(data: data, encoding: .utf8) {
        return true
    } else {
        return false
    }
}

let arr1 = "Hello, 世界".data(using: .utf8)!
let arr2 = Data([0xa3, 0xed, 0xfd])

print(isValidUTF8(arr1) ? "true" : "false")
print(isValidUTF8(arr2) ? "true" : "false")



/*
run:
   
true
false

*/

 



answered Jul 8, 2025 by avibootz
...