Как избавиться от b' , всех этих \x00, \x** подобных вещей в связке строк в python 3.6?

У меня есть строки, как показано ниже:

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**?

У вас есть строковое представление значения bytes; Откуда это пришло?

chepner 18.03.2022 13:45

Это просто данные, которые я должен разрешить. Я думаю, что они специально скрутили.

Jun 18.03.2022 13:46

Скорее всего, какой бы процесс ни приобрел его, он нарушен.

chepner 18.03.2022 13:47
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
3
30
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У вас есть значение 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]

Другие вопросы по теме