4.9.2 Codifica standard

Python viene distribuito con un certo numero di codifiche built-in, tutte implementate come funzioni C, o con dizionari come tabelle mappate. La tabella seguente elenca le codifiche per nome, insieme ad alcuni alias comuni, ed al linguaggio per cui viene utilizzata la codifica indicata. Né la lista degli alias né la lista dei linguaggi vogliono essere complete. Notate che le variazioni nella sintassi, che differiscono anche solo nel maiuscolo/minuscolo o utilizzano un trattino invece di un trattino basso, vengono comunque considerati sinonimi validi.

Molti insiemi di caratteri supportano le stesse lingue. Queste variano nei singoli caratteri (per esempio il simbolo dell'EURO può essere supportato o meno), e nell'assegnazione dei caratteri alle posizioni del codice. Per le lingue europee in particolare, esistono tipicamente le seguenti varianti:

Codec  Alias  Linguaggi 
ascii 646, us-ascii Inglese
big5 big5_tw, csbig5 Cinese Tradizionale
cp037 IBM037, IBM039 Inglese
cp424 EBCDIC-CP-HE, IBM424 Ebraico
cp437 437, IBM437 Inglese
cp500 EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500 Europa dell'Ovest
cp737   Greco
cp775 IBM775 Lingue baltiche
cp850 850, IBM850 Europa dell'Ovest
cp852 852, IBM852 Europa centrale e dell'Est
cp855 855, IBM855 Bulgaro, Bielorusso, Macedone, Russo, Serbo
cp856   Ebraico
cp857 857, IBM857 Turco
cp860 860, IBM860 Portoghese
cp861 861, CP-IS, IBM861 Islandese
cp862 862, IBM862 Ebraico
cp863 863, IBM863 Canadese
cp864 IBM864 Arabo
cp865 865, IBM865 Danese, Norvegese
cp869 869, CP-GR, IBM869 Greco
cp874   Thailandese
cp875   Greco
cp932 932, ms932, mskanji, ms_kanji Giapponese
cp949 949, ms949, uhc Coreano
cp950 950, ms950 Cinese tradizionale
cp1006   Urdu
cp1026 ibm1026 Turco
cp1140 ibm1140 Europa dell'Ovest
cp1250 windows-1250 Europa centrale e dell'Est
cp1251 windows-1251 Bulgaro, Bielorusso, Macedone, Russo, Serbo
cp1252 windows-1252 Europa dell'Ovest
cp1253 windows-1253 Greco
cp1254 windows-1254 Turco
cp1255 windows-1255 Ebraico
cp1256 windows1256 Arabo
cp1257 windows-1257 Lingue baltiche
cp1258 windows-1258 Vietnamita
euc_jp eucjp, ujis, u_jis Giapponese
euc_jisx0213 jisx0213, eucjisx0213 Giapponese
euc_kr euckr, korean, ksc5601, ks_c_5601, ks_c_5601_1987, ksx1001, ks_x_1001 Coreano
gb2312 chinese, csiso58gb231280, euc_cn, euccn, eucgb2312_cn, gb2312_1980, gb2312_80, iso_ir_58 Cinese Semplificato
gbk 936, cp936, ms936 Cinese Unificato
gb18030 gb18030_2000 Cinese Unificato
hz hzgb, hz_gb, hz_gb_2312 Cinese Semplificato
iso2022_jp csiso2022jp, iso2022jp, iso_2022_jp Giapponese
iso2022_jp_1 iso2022jp_1, iso_2022_jp_1 Giapponese
iso2022_jp_2 iso2022jp_2, iso_2022_jp_2 Giapponese, Coreano, Cinese Semplificato, Europa dell'Ovest, Greco
iso2022_jp_3 iso2022jp_3, iso_2022_jp_3 Giapponese
iso2022_jp_ext iso2022jp_ext, iso_2022_jp_ext Giapponese
iso2022_kr csiso2022kr, iso2022kr, iso_2022_kr Coreano
latin_1 iso-8859-1, iso8859-1, 8859, cp819, latin, latin1, L1 Europa dell'Ovest
iso8859_2 iso-8859-2, latin2, L2 Europa centrale e dell'Est
iso8859_3 iso-8859-3, latin3, L3 Esperanto, Maltese
iso8859_4 iso-8859-4, latin4, L4 Lingue baltiche
iso8859_5 iso-8859-5, cyrillic Bulgaro, Bielorusso, Macedone, Russo, Serbo
iso8859_6 iso-8859-6, arabic Arabo
iso8859_7 iso-8859-7, greek, greek8 Greco
iso8859_8 iso-8859-8, hebrew Ebraico
iso8859_9 iso-8859-9, latin5, L5 Turco
iso8859_10 iso-8859-10, latin6, L6 Lingue nordiche
iso8859_13 iso-8859-13 Lingue baltiche
iso8859_14 iso-8859-14, latin8, L8 Lingue Celte
iso8859_15 iso-8859-15 Europa dell'Ovest
johab cp1361, ms1361 Coreano
koi8_r   Russo
koi8_u   Ucraino
mac_cyrillic maccyrillic Bulgaro, Bielorusso, Macedone, Russo, Serbo
mac_greek macgreek Greco
mac_iceland maciceland Islandese
mac_latin2 maclatin2, maccentraleurope Europa centrale e dell'Est
mac_roman macroman Europa dell'Ovest
mac_turkish macturkish Turco
ptcp154 csptcp154, pt154, cp154, cyrillic-asian Kazaco
shift_jis csshiftjis, shiftjis, sjis, s_jis Giapponese
shift_jisx0213 shiftjisx0213, sjisx0213, s_jisx0213 Giapponese
utf_16 U16, utf16 Tutte le lingue
utf_16_be UTF-16BE Tutte le lingue (solo BMP)
utf_16_le UTF-16LE Tutte le lingue (solo BMP)
utf_7 U7 Tutte le lingue
utf_8 U8, UTF, utf8 Tutte le lingue

Un certo numero di codec è specifico di Python, cosicché il loro nome non ha significato al di fuori di Python stesso. Alcuni di questi non convertono da stringhe Unicode a stringhe di byte, ma invece usano la proprietà dell'architettura del codice macchina di Python in modo tale che ogni funzione biettiva con un argomento, possa venire considerata come una codifica.

Per i codec listati sotto, il risultato nella direzione di ``codifica'' è sempre una stringa di byte. Il risultato nella direzione di ``decodifica'' viene elencato nella tabella come un tipo operando.

Codec  Alias  Tipo operando  Scopo 
base64_codec base64, base-64 byte string Converte l'operando in MIME base64
bz2_codec bz2 byte string Comprime l'operando usando bz2
hex_codec hex byte string Converte l'operando in una rappresentazione esadecimale, con due cifre per byte
idna   Unicode string Implementa RFC 3490. Nuovo nella versione 2.3. Vedete anche encodings.idna
mbcs dbcs Unicode string Solo per Windows: codifica l'operando in accordo con la codepage ANSI (CP_ACP)
palmos   Unicode string Codifica di PalmOS 3.5
punycode   Unicode string Implementa RFC 3492. Nuovo nella versione 2.3.
quopri_codec quopri, quoted-printable, quotedprintable byte string Converte l'operando in MIME quotato stampabile
raw_unicode_escape   Unicode string Produce una stringa assimilabile come costante raw Unicode in codice sorgente Python
rot_13 rot13 byte string Restituisce la cifratura dell'operando in algoritmo Caesar
string_escape   byte string Produce una stringa assimilabile a una costante Unicode nel codice sorgente Python
undefined   any Solleva un'eccezione per tutte le conversioni. Può venire usata come codifica di sistema se non è desiderata nessuna conversione automatica tra byte e stringa Unicode
unicode_escape   Unicode string Produce una stringa assimilabile a una costante Unicode in codice sorgente Python
unicode_internal   Unicode string Restituisce la rappresentazione interna dell'operando
uu_codec uu byte string Converte l'operando usando uuencode
zlib_codec zip, zlib byte string Comprime l'operando usando gzip

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.