У меня есть ситуация, в которой мне нужно проверить, кодируется ли символ в указанной кодировке:
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 для проведения такого теста? Если нет, это эффективная реализация?