Понимание юникода и кодировки в Python

Вам нужна версия Docker Enterprise Edition (EE) или Community Edition (CE). Я думаю, что у вас есть старший / оригинальный докер.

Вам нужно быть на V17.06 или выше https://www.ibm.com/support/knowledgecenter/SS6NHC/com .bm.swg.im.dashdb.doc / admin / local_prereqs-Linux.html # local_prereqs-Linux

> docker version
Client:
 Version:      17.05.0-ce
 API version:  1.29
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:06:25 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.05.0-ce
 API version:  1.29 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:06:25 2017
 OS/Arch:      linux/amd64
 Experimental: false

Удалите docker и установите docer-ce (или docker-ee ) согласно https://docs.docker.com/install/linux/docker-ce/fedora/

0
задан tinutomson 18 January 2019 в 20:12
поделиться

1 ответ

u'áíóús' является строкой текста . То, что вы видите в REPL, - это каноническое представление этого объекта:

>>> print u'áíóús'
áíóús
>>> print repr(u'áíóús')
u'\xe1\xed\xf3\xfas'

Такие вещи, как \xe1, связаны с шестнадцатеричными ординалами каждого символа:

[111 ]

Только последний символ был в диапазоне ascii, то есть ординалы в range(128), так что только последний символ "s" отчетливо виден в Python 2.x:

>>> chr(0x73)
's'

'áíóús' является строкой из байтов . То, что вы видите напечатанным, является кодировкой тех же текстовых символов, а ваш эмулятор терминала принимает кодировку:

>>> 'áíóús'
'\xc3\xa1\xc3\xad\xc3\xb3\xc3\xbas'
>>> u'áíóús'.encode('utf-8')
'\xc3\xa1\xc3\xad\xc3\xb3\xc3\xbas'
0
ответ дан wim 18 January 2019 в 20:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: