在使用utf16BigEndian数据返回nil的字符串初始化中,要使用哪些字节?

时间:2019-04-16 06:52:46

标签: swift character-encoding

我知道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:)抛出错误的情况。

请建议我应该传递哪些数据或增强我对编码的了解(以便我可以计算出字节数)以涵盖上述测试。

0 个答案:

没有答案