2015-11-06 4 views
0

Есть ли по умолчанию кодировка 'cp1251' -how, может ли она быть изменена на UTF-8 по умолчанию в Python3? Поскольку функция sys.setdefaultencoding() не работаетИзменение кодировки python 3

+0

почему вы думаете, что нужно сделать? –

+0

Потому что я использую urllib.request, который дает мне неправильные символы при разборе кириллицы (\ xd0 \ x9e \ xd0 \ x9a \ xd0) – HalfPintBoy

+1

Так что кодируйте/декодируйте его правильно .. Также см. [This] (https: // anonbadger. wordpress.com/2015/06/16/why-sys-setdefaultencoding-will-break-code/) –

ответ

1

Python3's str - это путь в юникоде. Если вы работаете с ByteArray затем

mystring = b'my cp1251 byte array'.decode('cp1251') 

Вы можете сохранить его как str или положить его в UTF-8 байт массива:

my_utf_8_bytearray = mystring.encode() 
Смежные вопросы