我知道String(data:encoding:)
是一个失败的初始化程序。
我创建了一个函数,该函数接受数据作为参数,如果无法使用utf16BigEndian编码从数据中创建字符串,则会引发错误。如下:
func createUTF16BEString(data: Data) throws -> String {
guard let string = String(data: data, encoding: .utf16BigEndian) else {
throw NSError(domain:"MyAppDomain", code: 33, userInfo: nil)
}
return string
}
我正在为此功能编写测试,以涵盖成功和失败(引发错误)的可能性。
我目前对编码的了解有限。
我已经编写了可以成功返回字符串的测试。
我的问题是要传入什么数据(或说字节),因此我的测试涵盖了func createUTF16BEString(data:)
返回nil导致我的String(data:encoding:)
抛出错误的情况。
请建议我应该传递哪些数据或增强我对编码的了解(以便我可以计算出字节数)以涵盖上述测试。