Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何确定特定字符串的编码类型?_Python_Linux_String_Encoding_Decoding - Fatal编程技术网

Python 如何确定特定字符串的编码类型?

Python 如何确定特定字符串的编码类型?,python,linux,string,encoding,decoding,Python,Linux,String,Encoding,Decoding,我试着看了各种各样的答案,但没有发现足够有建设性的东西。我需要知道的是这是一种什么样的编码格式\x86\x9cG 我是否使用任何在线工具?我是否用python编写代码?任何帮助都会很好 我想知道上面的字符串是哪种编码格式。仅此而已。根据我的经验enca命令行工具非常擅长正确猜测编码: 在Python中,有chardet: 根据我的经验enca命令行工具非常擅长正确猜测编码: 在Python中,有chardet: 我想了一种方法,你可以用各种可能的编码来解码字符串 以下编码是借用自 code_

我试着看了各种各样的答案,但没有发现足够有建设性的东西。我需要知道的是这是一种什么样的编码格式
\x86\x9cG

我是否使用任何在线工具?我是否用python编写代码?任何帮助都会很好


我想知道上面的字符串是哪种编码格式。仅此而已。

根据我的经验
enca
命令行工具非常擅长正确猜测编码:

在Python中,有
chardet


根据我的经验
enca
命令行工具非常擅长正确猜测编码:

在Python中,有
chardet


我想了一种方法,你可以用各种可能的编码来解码字符串

以下编码是借用自

code_list=[“ascii”、“big5”、“big5hkscs”、“cp037”、“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”、“cp1006”、“cp1026”、“cp1140”、“cp1250”、“cp1251”,
“cp1252”、“cp1253”、“cp1254”、“cp1255”、“cp1256”、“cp1257”、“cp1258”、“euc_jp”,
“euc_jis_2004”、“euc_jisx0213”、“euc_kr”、“gb2312”、“gbk”、“gb18030”、“hz”、“iso2022_jp”,
“iso2022_jp_1”、“iso2022_jp_2”、“iso2022_jp_2004”、“iso2022_jp_3”、“iso2022_jp_ext”,
“iso2022_kr”、“拉丁语_1”、“iso8859_2”、“iso8859_3”、“iso8859_4”、“iso8859_5”、“iso8859_6”,
“iso8859_7”、“iso8859_8”、“iso8859_9”、“iso8859_10”、“iso8859_13”、“iso8859_14”,
“iso8859_15”、“iso8859_16”、“johab”、“koi8_r”、“koi8_u”、“mac_西里尔语”、“mac_希腊语”,
“mac_冰岛”、“mac_拉丁”、“mac_罗马”、“mac_土耳其”、“ptcp154”、“shift_jis”,
“shift_jis_2004”、“shift_jisx0213”、“utf_32”、“utf_32_be”、“utf_32_le”、“utf_16”,
“utf_16_be”、“utf_16_le”、“utf_7”、“utf_8”、“utf_8_sig”、“idna”、“mbcs”、“palmos”,
“punycode”、“raw\u unicode\u escape”、“rot\u 13”、“undefined”、“unicode\u escape”,
“unicode_内部”、“base64_编解码器”、“bz2_编解码器”、“hex_编解码器”、“quopri_编解码器”,
“字符串转义”、“uu编解码器”、“zlib\u编解码器”]

s='\x86\x9cG我想了一种方法,你可以用各种可能的编码来解码字符串

以下编码是借用自

code_list=[“ascii”、“big5”、“big5hkscs”、“cp037”、“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”、“cp1006”、“cp1026”、“cp1140”、“cp1250”、“cp1251”,
“cp1252”、“cp1253”、“cp1254”、“cp1255”、“cp1256”、“cp1257”、“cp1258”、“euc_jp”,
“euc_jis_2004”、“euc_jisx0213”、“euc_kr”、“gb2312”、“gbk”、“gb18030”、“hz”、“iso2022_jp”,
“iso2022_jp_1”、“iso2022_jp_2”、“iso2022_jp_2004”、“iso2022_jp_3”、“iso2022_jp_ext”,
“iso2022_kr”、“拉丁语_1”、“iso8859_2”、“iso8859_3”、“iso8859_4”、“iso8859_5”、“iso8859_6”,
“iso8859_7”、“iso8859_8”、“iso8859_9”、“iso8859_10”、“iso8859_13”、“iso8859_14”,
“iso8859_15”、“iso8859_16”、“johab”、“koi8_r”、“koi8_u”、“mac_西里尔语”、“mac_希腊语”,
“mac_冰岛”、“mac_拉丁”、“mac_罗马”、“mac_土耳其”、“ptcp154”、“shift_jis”,
“shift_jis_2004”、“shift_jisx0213”、“utf_32”、“utf_32_be”、“utf_32_le”、“utf_16”,
“utf_16_be”、“utf_16_le”、“utf_7”、“utf_8”、“utf_8_sig”、“idna”、“mbcs”、“palmos”,
“punycode”、“raw\u unicode\u escape”、“rot\u 13”、“undefined”、“unicode\u escape”,
“unicode_内部”、“base64_编解码器”、“bz2_编解码器”、“hex_编解码器”、“quopri_编解码器”,
“字符串转义”、“uu编解码器”、“zlib\u编解码器”]

s='\x86\x9cG您使用的是Python 2还是Python 3?两个版本中的字符串处理非常不同。准确地说,python 2.7.6。请看一看:不,这不是任何“可能的重复”。比较这两个问题,然后再明显地结束问题。也许这甚至不是一个“编码”。。。可能是从压缩/加密文件或其他文件中读取的字节数组。。。它足够短,从统计上讲,可能很难可靠地确定格式(至少是明确的-您可能会得到几个匹配)-按我的计数为16字节,但我可能会有几个字节…您使用的是Python 2还是Python 3?两个版本中的字符串处理非常不同。准确地说,python 2.7.6。请看一看:不,这不是任何“可能的重复”。比较这两个问题,然后再明显地结束问题。也许这甚至不是一个“编码”。。。可能是从压缩/加密文件或其他文件中读取的字节数组。。。它足够短,从统计上讲,可能很难可靠地确定格式(至少是明确的-你可能会得到几个匹配)-按我的计数为16字节,但我可能会有几个字节…我尝试了这个,因为它似乎是合理的。不幸的是,使用每一种方法,你主要会得到无意义的字符串或异常,所以我认为@kaushaya可能需要挖掘更多。我尝试了这个方法,因为它似乎是合理的。不幸的是,使用每一种方法,您主要会得到无意义的字符串或异常,因此我认为@kaushaya可能需要进一步挖掘。
code_list = ["ascii", "big5", "big5hkscs", "cp037", "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", "cp1006", "cp1026", "cp1140", "cp1250", "cp1251",
 "cp1252", "cp1253", "cp1254", "cp1255", "cp1256", "cp1257", "cp1258", "euc_jp",
 "euc_jis_2004", "euc_jisx0213", "euc_kr", "gb2312", "gbk", "gb18030", "hz", "iso2022_jp",
 "iso2022_jp_1", "iso2022_jp_2", "iso2022_jp_2004", "iso2022_jp_3", "iso2022_jp_ext",
 "iso2022_kr", "latin_1", "iso8859_2", "iso8859_3", "iso8859_4", "iso8859_5", "iso8859_6",
 "iso8859_7", "iso8859_8", "iso8859_9", "iso8859_10", "iso8859_13", "iso8859_14",
 "iso8859_15", "iso8859_16", "johab", "koi8_r", "koi8_u", "mac_cyrillic", "mac_greek",
 "mac_iceland", "mac_latin2", "mac_roman", "mac_turkish", "ptcp154", "shift_jis",
 "shift_jis_2004", "shift_jisx0213", "utf_32", "utf_32_be", "utf_32_le", "utf_16",
 "utf_16_be", "utf_16_le", "utf_7", "utf_8", "utf_8_sig", "idna", "mbcs", "palmos",
 "punycode", "raw_unicode_escape", "rot_13", "undefined", "unicode_escape",
 "unicode_internal", "base64_codec", "bz2_codec", "hex_codec", "quopri_codec",
 "string_escape", "uu_codec", "zlib_codec"]

s = '\x86\x9cG<!\xd9F@\xb4\n\xd6\xd4(\x9cb\xfe'


for i in code_list:
    try:
        print 'Using {0} to decode......{1:<30}'.format(i,s.decode(i).encode('utf-8'))
    except Exception as e:
#         pass
        print e