Моя программа такова, что она принимает строку, а затем пытается записать эту строку в файл.Я думаю, что проблема в том, что строка имеет специальные символы (ü, ç и т. Д.).
Когда я пытаюсь просто записать строку в файл, я получаю ошибку компилятора (или что-то подобное):
UnicodeEncodeError: 'charmap' codec cannot encode character '\u200b' in position 16: character maps to <undefined>
Итак, я написал функцию, которая выглядит следующим образом:
def try_encode(info):
if info is None:
return None
temp = (str(info.encode('utf-8'))).replace("\n","")
return '"' + temp[2:len(temp)-1] + '"'
(я хочу избавиться от всех новых строк и написать строку, заключенную в кавычки)
Но проблема, возникающая при запуске, заключается в том, что после запуска программы открываемый файл содержит несколько странных символов, которые начинаются с: \x
Некоторые примеры этих символов:
\xc3, \xa9p, \xaa, \xe2, \x80, etc
Я думаю, что они соответствуют специальным символам, которые я упомянул выше.Я экспериментировал с разными кодировками (utf-16 и utf-7), но все они либо не помогают, либо делают эти символы более распространенными.Может кто-нибудь помочь мне понять, как избавиться от них?
РЕДАКТИРОВАТЬ: в том числе код, где я открываю файл:
f = open(filename, "w")