Python2.7 pyodbc - содержимое кодируется в Unicode вместо UTF-8

Одно предложение - так как вы моделируете String, будет ли он работать, чтобы преобразовать ваш массив [UInt32] в String и использовать String hashValue? Например:

var hashValue : Int {
    get {
        return String(self.scalarArray.map { UnicodeScalar($0) }).hashValue
    }
}

Это может позволить вам сравнить ваши пользовательские struct с String s, хотя, независимо от того, хорошо это или нет, зависит от того, что вы пытаетесь сделать ...

Заметим также, что, используя этот подход, экземпляры ScalarString будут иметь одинаковый hashValue, если их представления String будут канонически эквивалентными, что может быть или не быть тем, что вы желаете.

Итак, я полагаю, что если вы хотите, чтобы hashValue представлял уникальный String, мой подход был бы хорошим. Если вы хотите, чтобы hashValue представлял уникальную последовательность значений UInt32, ответ @ Kametrixom - это способ пойти ...

0
задан user3004475 20 March 2019 в 09:51
поделиться