English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Esempio di Python per determinare il tipo di codifica di file e stringhe

Python può utilizzare il pacchetto chardet per determinare il tipo di codifica di un file e una stringa, può riconoscere la maggior parte dei tipi di codifica. Ma qualche giorno fa, leggendo un file txt salvato con Notepad di Windows, GBK è stato riconosciuto come KOI8-R, senza soluzione.

Poi ho scritto un metodo di riconoscimento di codifica semplice, il codice è il seguente:

coding.py

# Note: UTF è compatibile con ISO8859-1 e ASCII, GB18030 è compatibile con GBK, GBK è compatibile con GB2312, GB2312 è compatibile con ASCII
CODES = ['UTF-8', 'UTF-16', 'GB18030', 'BIG5']
# Prefisso di byte del BOM UTF-8
UTF_8_BOM = b'\xef\xbb\xbf'
# Ottieni il tipo di codifica del file
def file_encoding(file_path):
 """
 Ottieni il tipo di codifica del file\n
 :param file_path: Percorso del file\n
 :return: \n
 """
 with open(file_path, 'rb') as f:
  return string_encoding(f.read())
# Ottieni il tipo di codifica dei caratteri
def string_encoding(b: bytes):
 """
 Ottieni il tipo di codifica dei caratteri\n
 :param b: Dati in byte\n
 :return: \n
 """
 # Esempio di codifica di caratteri
 for code in CODES:
  try:
   b.decode(encoding=code)
   if 'UTF-8' == code and b.startswith(UTF_8_BOM):
    return 'UTF-8-SIG'
   return code
  except Exception:
   continue
 return 'Tipo di codifica di caratteri sconosciuto'

Spiegazione:file_encodingIl metodo viene utilizzato per determinare il tipo di codifica del file, il parametro è il percorso del file;string_encodingIl metodo viene utilizzato per determinare il tipo di codifica della stringa, il parametro è il dati in byte della stringa corrispondente

Esempio di utilizzo:

import coding
file_name = input('Inserisci il percorso del file da identificare: \n')
encoding = coding.file_encoding(file_name)
print(encoding)

Questa è tutta la parte dell'esempio di Python per determinare il tipo di codifica di file e stringa condivisa dall'autore, speriamo che possa fornire una参考, e speriamo che tutti possano sostenere il tutorial URL.

Dichiarazione: il contenuto di questo articolo è stato raccolto da Internet, è di proprietà del rispettivo autore, il contenuto è stato caricato spontaneamente dagli utenti di Internet, questo sito non possiede i diritti di proprietà, non è stato editato manualmente e non assume alcuna responsabilità legale correlata. Se trovi contenuti sospetti di copyright, ti preghiamo di inviare una e-mail a: notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare il problema e fornire prove pertinenti. Una volta verificata, questo sito eliminerà immediatamente i contenuti sospetti di copyright.

Ti potrebbe interessare