Какие байты использовать при инициализации String с данными, использующими utf16BigEndian для возврата nil? - PullRequest
1 голос
/ 16 апреля 2019

Я знаю, что 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:) выдает ошибку в результате String(data:encoding:), возвращающего ноль.

Пожалуйста, предложите мне, какие данные должны быть переданы, или расширите мои знания о кодировках (чтобы я мог вычислить байты), чтобы покрыть упомянутый выше тест.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...