이것은 내 시나리오입니다. 유니 코드 문자열 목록이 있습니다. 나는 'input'이라는 이름의 utf8 문자열을 받고 나머지 요소와 함께 목록에 기록하려고합니다. 그래서 그것을 디코드하고 유니 코드 객체를 얻습니다.하지만 목록에 추가하면 유형이 "str"으로 바뀝니다. 여기서 무슨 일이 일어나고있는거야?PYTHON : 목록에 유니 코드를 추가하면 해당 형식이 str으로 변경됩니다.
a_list = [u"ááááá", u"eééééée"]
#'input' is a utf8 str
obj = input.decode("utf-8")
log.debug(type(obj))
log.debug(obj)
a_list.append(obj)
for elem in a_list:
log.debug(type(elem))
로그 :
이DEBUG - <type 'unicode'>' # obj
<(THIS IS ONLY FOR SIMPLIFY) obj with accents (unicode chars)>
DEBUG - <type 'unicode'>'
DEBUG - <type 'unicode'>'
DEBUG - <type 'str'>' # ------> obj's type changed!!!
편집 : 파이썬 2.7.3
입력 플라스크 microframework의 요청 객체에서 "request.data은"방법은 없습니다
파이썬 버전이란 무엇입니까? 필자는 Python 2.7.3에서이를 테스트했으며이 동작을 재현 할 수 없습니다. '입력 '은 어디에서 왔습니까? 'log.debug (obj)'는 유니 코드처럼 이상한 출력을줍니다 ... – ElmoVanKielmo