У меня есть строки, как показано ниже:
content =
"b'MAJOR CONRAD A. PREEDOM\\n2354 Fairchild Dr., Suite 6H-126\\nUSAF Academy, CO
\\xe2\\x80\\x93 Present 160 Flight Hours/145 Instructor Pilot Hours in Diamond Star
DA-40 (USAF T-52)\\n2004 \\xe2\\x80\\x93 2007\\n442 Hours/45 Flight Lead Hours in
McDonnell Douglas F-15E Strike Eagle\\n2003 \\xe2\\x80\\x93 2004\\n19 Hours in
Northrop AT-38B\\n2000 \\xe2\\x80\\x93 2003\\n1,311 Flight Hours/1051 Instructor
Pilot Hours in Cessna T-37B\\n1999 \\xe2\\x80\\x93 2000\\n26 Flight Hours in Northrop
T-38A\\n1995 PA \\xe2\\x80\\x93 1999\\nDistinguished Graduate, United States Air
Force Academy, CO \\xe2\\x80\\x93 1998\\nOmega Rho Honor Society for Operations
Research, United States Air Force Academy, CO \\xe2\\x80\\x93 1998\\nAIR FORCE AWARDS
AND DECORATIONS\\nMeritorious Service Medal\\nAir Force Commendation Medal\\nAir
Force Achievement Medal\\nAir Force Outstanding Unit Award\\nAir Force Organizational
Excellence Award\\nCombat Readiness Medal\\nNational Defense Service Medal\\nGlobal
War on Terrorism Service Medal\\nKorean Defense Service Medal\\nAF Longevity
Service\\nSmall Arms Expert Marksmanship Ribbon (Pistol)\\nAF Training Ribbon'"
Я хочу избавиться от всех этих b' и всего, что связано с \x с двумя окончаниями, такими как \xe2, \x80 и так далее. Я не знаю, как избавиться от него. Я попытался
content.decode("utf-8", errors = "ignore")
Но поскольку содержимое уже str, я не могу декодировать. Итак, я попытался ниже сделать это как байты и избавиться от вещей, от которых я хочу избавиться, и вернуться к строке, но это вообще не работает.
new_content =content.encode("ascii").decode("utf-8", errors = "ignore")
когда я запускаю этот код ниже, я могу избавиться от вещей 'b и \x**, поэтому я перепробовал все возможные вещи, но я не знаю, как сделать мои строки байтами, как показано ниже. Я могу конвертировать содержимое в байты, но это не избавляет от материала.
b'\x80abc sadad dkfbkafaf /n \n \x80dajhbahsdsabj'.decode("utf-8", errors = "ignore")
Вы хоть представляете, как мой «контент» может избавиться от b и всех \x**?
Это просто данные, которые я должен разрешить. Я думаю, что они специально скрутили.
Скорее всего, какой бы процесс ни приобрел его, он нарушен.
У вас есть значение str
, которое содержит строковое представление значения bytes
, которое само является строкой в кодировке UTF-8. Используйте ast.literal_eval
, чтобы получить фактическое значение bytes
, потом декодируйте его.
>>> import ast
>>> print(ast.literal_eval(content).decode())
MAJOR CONRAD A. PREEDOM
2354 Fairchild Dr., Suite 6H-126
USAF Academy, CO – Present 160 Flight Hours/145 Instructor Pilot Hours in Diamond Star DA-40 (USAF T-52)
2004 – 2007
[etc]
У вас есть строковое представление значения
bytes
; Откуда это пришло?