Python 查看支持的字符编码

参考:如何以编程方式查找Python已知的编解码器列表?
如果你只是检测(推测)字符串、文件等的编码,请使用chardet

编码

import encodings
import os
import pkgutil

modnames=set([modname for importer, modname, ispkg in pkgutil.walk_packages(
    path=[os.path.dirname(encodings.__file__)], prefix='')])
aliases=set(encodings.aliases.aliases.values())
s=set()
for i in modnames|eaa:
    try:'abc'.encode(i)
    except Exception as e:print(e)
    else:s.add(i)
    
'hex_codec' is not a text encoding; use codecs.encode() to handle arbitrary codecs
'zlib_codec' is not a text encoding; use codecs.encode() to handle arbitrary codecs
encoding with 'undefined' codec failed (UnicodeError: undefined encoding)
'base64_codec' is not a text encoding; use codecs.encode() to handle arbitrary codecs
'uu_codec' is not a text encoding; use codecs.encode() to handle arbitrary codecs
unknown encoding: aliases
'rot_13' is not a text encoding; use codecs.encode() to handle arbitrary codecs
'bz2_codec' is not a text encoding; use codecs.encode() to handle arbitrary codecs
'quopri_codec' is not a text encoding; use codecs.encode() to handle arbitrary codecs

s
Out[93]: 
{
   'ascii',
 'big5',
 'big5hkscs',
 'charmap',
 'cp037',
 'cp1006',
 'cp1026',
 'cp1125',
 'cp1140',
 'cp1250',
 'cp1251',
 'cp1252',
 'cp1253',
 'cp1254',
 'cp1255',
 'cp1256',
 'cp1257',
 'cp1258',
 'cp273',
 'cp424',
 'cp437',
 'cp500',
 'cp720',
 'cp737',
 'cp775',
 'cp850',
 'cp852',
 'cp855',
 'cp856',
 'cp857',
 'cp858',
 'cp860',
 'cp861',
 'cp862',
 'cp863',
 'cp864',
 'cp865',
 'cp866',
 'cp869',
 'cp874',
 'cp875',
 'cp932',
 'cp949',
 'cp950',
 'euc_jis_2004',
 'euc_jisx0213',
 'euc_jp',
 'euc_kr',
 'gb18030',
 'gb2312',
 'gbk',
 'hp_roman8',
 'hz',
 'idna',
 'iso2022_jp',
 'iso2022_jp_1',
 'iso2022_jp_2',
 'iso2022_jp_2004',
 'iso2022_jp_3',
 'iso2022_jp_ext',
 'iso2022_kr',
 'iso8859_1',
 'iso8859_10',
 'iso8859_11',
 'iso8859_13',
 'iso8859_14',
 'iso8859_15',
 'iso8859_16',
 'iso8859_2',
 'iso8859_3',
 'iso8859_4',
 'iso8859_5',
 'iso8859_6',
 'iso8859_7',
 'iso8859_8',
 'iso8859_9',
 'johab',
 'koi8_r',
 'koi8_t',
 'koi8_u',
 'kz1048',
 'latin_1',
 'mac_arabic',
 'mac_croatian',
 'mac_cyrillic',
 'mac_farsi',
 'mac_greek',
 'mac_iceland',
 'mac_latin2',
 'mac_roman',
 'mac_romanian',
 'mac_turkish',
 'mbcs',
 'oem',
 'palmos',
 'ptcp154',
 'punycode',
 'raw_unicode_escape',
 'shift_jis',
 'shift_jis_2004',
 'shift_jisx0213',
 'tis_620',
 'unicode_escape',
 'utf_16',
 'utf_16_be',
 'utf_16_le',
 'utf_32',
 'utf_32_be',
 'utf_32_le',
 'utf_7',
 'utf_8',
 'utf_8_sig'}

Python的标准编码

{
   'aliases',
 'charmap',
 'hp_roman8',
 'iso8859_1',
 'mac_arabic',
 'mac_croatian',
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值