2011-03-20 4 views
3

utf-8을 사용하여 유니 코드로 사용자 입력을 표시하는 사이트가 있습니다. 그러나 사용자 입력에는 바이너리 데이터가 포함될 수 있습니다.이 바이너리 데이터는 utf-8에 의해 항상 '디코딩'될 수있는 것은 아닙니다.utf-8 더하기 물음표

것은 파이썬을 사용하고, 내가 말하는 오류를 얻을 :

'의 UTF8'코덱이 위치 0 바이트하여 0xbf를 디코딩 할 수 없습니다 예기치 않은 코드 바이트. '\ xbf \ xcd'를 (를) 전달했습니다.

디코딩 할 수없는 문자를 물음표로 변환하는 표준 효율적인 방법이 있습니까?

답변에서 파이썬을 사용하면 가장 유용 할 것입니다.

답변

6

시도 :

inputstring.decode("utf8", "replace") 

는 참조 용으로 here를 참조

1

나는 당신을 위해 무엇을 찾고있는 것은 생각 : 오히려

+0

또는 예외를 발생보다는 검증되지 않은 바이트를 삭제해야

str.decode('utf8','ignore') 

Joril의 방법 .... 기본적으로 [decode()] (http : //docs.python.o rg/library/stdtypes.html) –