ids = cPickle.loads(gem.value)
loads() argument 1 must be string, not unicode
답변
cPickle.loads
가 정확히 cPickle.dumps
출력) 당신을 인 (바이트 문자열을 원한다 대신 유니 코드 문자열을 제공합니다. dumps
이 원래 제공 한 바이트 문자열을 되찾기 위해 유니 코드 문자열을 "인코딩"해야하지만 실수로 인코딩 한 내용을 추측하기가 어려울 수 있습니다. latin-1
또는 utf-8
(ascii
은 걱정하지 마십시오. 그 두 가지 중 하나를 그냥 좋은 디코딩 것입니다), 아마도 utf-16
...? gem
이 무엇인지 알지 못하고 원래 어떻게 value
을 cPickle.dumps
...의 출력으로 설정했는지 모른 채 추측하기는 어렵습니다.
gem.value
을 유니 코드가 아닌 문자열로 고정하여 수정할 수 있습니다.
사용 str(gem.value)
-1 그게 괴롭지는 않은데. str()은 기본 인코딩을 사용합니다. 처음에 어떻게 해독되었는지 알 필요가 있습니다. –
cPickle.dumps()
의 결과는 str
객체가 아닌 unicode
개체입니다. 코드 된 단계에서 절편 된 str
개체를 디코딩 할 단계를 찾아서 그 단계를 생략해야합니다.
unicode
개체를 str
개체로 변환하지 마십시오. 두 가지 잘못은 옳지 않습니다. 예 (파이썬 2.6) :
>>> import cPickle
>>> ps = cPickle.dumps([1,2,3], -1)
>>> ps
'\x80\x02]q\x01(K\x01K\x02K\x03e.'
>>> ups = ps.decode('latin1')
>>> str(ups)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\x80' in position 0: ordinal not in range(128)
>>>
"사람이 읽을 수"출력 :
>>> ps = cPickle.dumps([1,2,3])
>>> ps
'(lp1\nI1\naI2\naI3\na.'
>>>
아마도 ASCII이다 (그러나 문서화되지 그래서 수) 잘 "" "일이" ""일지 모른다 str(gem.value)
kludge :
>>> ps == str(unicode(ps))
True
>>>
- 1. 데이터베이스에서 TSD02016 오류를 어떻게 수정합니까?
- 2. Jama에서이 ArrayIndexOutOfBounds 오류를 어떻게 수정합니까?
- 3. 어떻게이 오류를 수정합니까?
- 4. java 데이터베이스 바인딩 오류를 어떻게 수정합니까?
- 5. Ruby on Rails에서이 라우팅 오류를 어떻게 수정합니까?
- 6. 어떻게 윅스와 HEAT5301 오류를 수정합니까 3.5.1811.0
- 7. RubyGems 플러그인을로드하는 중 오류를 어떻게 수정합니까?
- 8. "불법적 인 표현 시작"오류를 어떻게 수정합니까?
- 9. 프로덕션 모드에서 레일 오류를 어떻게 수정합니까?
- 10. spring-ws에서 "스트림 닫힘"오류를 어떻게 수정합니까?
- 11. Perl의 Font :: FreeType 컴파일 오류를 어떻게 수정합니까?
- 12. VC++ express, 어떻게이 오류를 수정합니까?
- 13. 파이썬에서 컴파일 오류를 어떻게 확인할 수 있습니까?
- 14. 이 크로스 도메인 ActionScript 3 오류를 어떻게 수정합니까?
- 15. 파이썬에서 문자의 유니 코드 블록
- 16. Environment.CommandLine 속성은 어떻게 수정합니까?
- 17. 늘어난 이미지를 어떻게 수정합니까?
- 18. Ruby 설치를 어떻게 수정합니까?
- 19. java.lang.RuntimeException을 어떻게 수정합니까?
- 20. erlang에서 레코드를 어떻게 수정합니까?
- 21. mysql.rb 드라이버를 어떻게 수정합니까?
- 22. Plone에서 robots.txt를 어떻게 수정합니까?
- 23. 이 누출을 어떻게 수정합니까?
- 24. 이 코드 문을 어떻게 수정합니까?
- 25. Wordpress : 게시물 클래스를 어떻게 수정합니까?
- 26. KeypressEvent가 작동하지 않습니다. 어떻게 수정합니까?
- 27. PHP_Beautifier의 빈 줄은 어떻게 수정합니까?
- 28. Joomla에서 로그인 양식을 어떻게 수정합니까?
- 29. Windows Gadgets : DOM을 어떻게 수정합니까?
- 30. Java LinkageError 예외는 어떻게 수정합니까?
왜 'gem.value'가 유니 코드이고 문자열이 아닌가요? – sth