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.