ascii로 인코딩하려는 긴 문자열이 있습니다. 내가하고 있어요 :문자열을 ascii로 인코딩
s = s.encode('ascii', 'replace')
하지만 난 얻을 :
이'ascii' codec can't decode byte 0xc3 in position 2646: ordinal not in range(128)
(나는 또한 'ignore'
시도했지만 도움이되지 않습니다.) 내가 잘못 뭐하는 거지
?
ascii로 인코딩하려는 긴 문자열이 있습니다. 내가하고 있어요 :문자열을 ascii로 인코딩
s = s.encode('ascii', 'replace')
하지만 난 얻을 :
이'ascii' codec can't decode byte 0xc3 in position 2646: ordinal not in range(128)
(나는 또한 'ignore'
시도했지만 도움이되지 않습니다.) 내가 잘못 뭐하는 거지
?
문자열이 인데 이미 인코딩 된 코드는입니다. ascii로 인코딩하기 전에 먼저 디코딩해야합니다.
파이썬은 (당신이 UnicodeEncodeError
을 UnicodeDecodeError
을하지 얻을 이유입니다)를 해독하려고 implicity입니다.
당신은 아스키로 재 인코딩을 시도 전에 (적절한 인코딩 사용) bytestring를 디코딩 명시 적으로 문제를 해결할 수 있습니다.
예 :
s = s.decode('some_encoding').encode('ascii', 'replace')
올바른 인코딩하여 문자열 대신 'some_encoding'
의, 처음에 인코딩 된 사용합니다.
문자열을 디코딩하기 전에 어떤 인코딩을 사용하는지 알고 있어야합니다. 어디에서 문자열을 가져 왔습니까?
encode
은 unicode
개체에서 str
으로 변환해야합니다. str 개체가있는 경우 decode
을 사용하여 unicode
으로 변환해야합니다.