Проверьте, можно ли закодировать символ с использованием указанной кодировки - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть ситуация, в которой мне нужно проверить, кодируется ли символ в указанной кодировке:

Character("有").isEncodable(using: .shiftJIS)   // true
Character("纪").isEncodable(using: .shiftJIS)   // false

Ниже приведена возможная реализация функции, описанной выше:

import Foundation

extension Character {

    func isEncodable(using encoding: String.Encoding) -> Bool {
        return String(self).data(using: encoding) != nil
    }

}

Существует ли какой-либо механизм в стандартной библиотеке или Foundation для проведения такого теста? Если нет, это эффективная реализация?

...