Saltar al contenido

UnicodeDecodeError: el códec ‘charmap’ no puede decodificar el byte 0x81 en la posición 122: el carácter se asigna a ejemplo de código

Sebastián, parte de este gran equipo, nos ha hecho el favor de redactar esta reseña ya que conoce perfectamente dicho tema.

Ejemplo 1: UnicodeDecodeError: el códec ‘charmap’ no puede decodificar el byte 0x9d en la posición 6148: el carácter se asigna a

Add encoding:
	
	file = open(filename, encoding="utf8")

Ejemplo 2: el códec ‘charmap’ no puede decodificar el byte 0x98 en la posición

file = open(filename, encoding="utf8")

Ejemplo 3: UnicodeDecodeError: el códec ‘charmap’ no puede decodificar el byte 0x81 en la posición 92: el carácter se asigna a

file = open(filename, encoding="cp437")

Ejemplo 4: UnicodeDecodeError: el códec ‘charmap’ no puede decodificar el byte 0x9e en la posición 3359: el carácter se asigna a

#add the encoding parameter for open method
with open(filename, encoding='utf8') as infile:

Ejemplo 5: UnicodeDecodeError: el códec ‘charmap’ no puede decodificar el byte 0x81 en la posición 92: el carácter se asigna a

#that's worked for me 

file = open(filepath,"r", encoding="utf8")

Ejemplo 6: UnicodeDecodeError: el códec ‘charmap’ no puede decodificar el byte 0x8f en la posición 550: el carácter se asigna a

#Filename                       Read_file.py
#Author                         Steve Morse
#Date                           5/30/2020
# Cleaned up					9/30/2020

x=" "



# process_lines DID NOT WORK AT FIRST
# I had fogotten that the EOL (end of line) charcter/values were 
# still attached to the line
# .strip() got rid of them, no problem



# All this does is print out the line.

def process_lines(line, count):
    x=""
    print(count)
    #print(line)
    line2=line.strip()        # This strips the offending EOL chars
    #print(line2)
    
    
    # This is my code for finishing the loop
    if line2=='Order Number:':
        x=''
        print(line2)
        print('xxxxxxxxxxxxxxxxxxxxxx')
        x=input('Enter to continue, X to finish')



    if x=='x':
        return 'x'
    if x=='X':
        return 'x'

    print("nn")
    return x





#=========================================================
Main Routine

#Orders is a BIG file encoded UTF-8
#Orders1 is a SMALL file encoded UTF-8 (1st 5 entries of Orders)


#Initially I had an error
#    'utf-8' codec can't decode byte 0xe2 : invalid continuation byte error
#
# This was solver with the following:
#                                                                      encoding="UTF-8"


counter=0


with open('orders1.txt', 'r',encoding="UTF-8") as f:
    for line in f:
        counter +=1    
        xx=process_lines(line, counter)
        if xx=='x':
            break




        
#=========================================================
# So I know it has finished

print("nnn========================================nFinished")

Reseñas y valoraciones de la guía

Si para ti ha resultado provechoso nuestro post, sería de mucha ayuda si lo compartes con el resto programadores de esta manera contrubuyes a extender nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *