주어진 모든 답변은 일반 유니 코드 문자열에서 중단됩니다. 다음은 내가 말할 수있는 한 모든 경우에 Python3에서 작동합니다.
from codecs import encode, decode
sample = u'mon€y\\nröcks'
result = decode(encode(sample, 'latin-1', 'backslashreplace'), 'unicode-escape')
print(result)
주석에 설명 된대로 다음과 같이 모듈 의 literal_eval
메서드를 사용할 수도 있습니다 ast
.
import ast
sample = u'mon€y\\nröcks'
print(ast.literal_eval(F'"{sample}"'))
또는 문자열에 실제로 문자열 리터럴 (따옴표 포함) 이 포함 된 경우 다음과 같이됩니다 .
import ast
sample = u'"mon€y\\nröcks"'
print(ast.literal_eval(sample))
그러나 입력 문자열이 큰 따옴표 또는 작은 따옴표를 구분 기호로 사용하는지 확실하지 않거나 제대로 이스케이프 될 수 없다고 가정 할 수없는 경우 인코딩 / 디코딩 방법이 계속 작동 literal_eval
하는 SyntaxError
동안 시간이 발생할 수 있습니다.