Как получить количество символов ниже в python?Число символов строки Unicode
s = 'הוא אוסף אתכם מחר בשלוש וחצי.'
Char count: 29
Char length: 52
len(s) = 52
? = 29
Как получить количество символов ниже в python?Число символов строки Unicode
s = 'הוא אוסף אתכם מחר בשלוש וחצי.'
Char count: 29
Char length: 52
len(s) = 52
? = 29
decode
ваши байты строка (в соответствии с любой кодировкой это в, UTF-8 может быть) - len
результирующей строки Unicode является то, что вы после этого.
Если факт лучшие практики для декодирования входов, как можно скорее, дело только с реальным текстом (т.е. unicode
, в Python 2, это именно так, как обычные строки, в Python 3) в вашем коде, и если необходимо, encode
так же, как вы снова выводите.
Байт-строки должны обрабатываться в вашей программе, только если речь идет о байтовых строках (например, управление или мониторинг некоторых аппаратных устройств, & c) - гораздо больше программ связано с текстом, и, кроме того, за исключением случаев,/O, они должны иметь исключительно дело с текст строки (пишется unicode
в Python 2 :-).
Но если вы хотите сохранить s
в виде байтовой строки тем не менее,
len(s.decode('utf-8'))
(или любой другой кодирующая вы используете для представления текста в виде байтовых строк) все равно должны делать то, что вы спрашиваете.
Используйте юникод строку
s = 'הוא אוסף אתכם מחר בשלוש וחצי.'
len(s) #52
s = u'הוא אוסף אתכם מחר בשלוש וחצי.'
len(s) #29
я получаю 'неподдерживаемых символов в input'. –
Я этого не понимаю. –
Может быть, вещь Python 2? –