python 检测字符串编码类型是什么

        for index,value in enumerate(listvalue):
            adchar=chardet.detect(value)
            print adchar
            if adchar[‘encoding‘]==‘utf-8‘ or adchar[‘encoding‘]==‘ascii‘:
                code=‘utf-8‘
            else:
                code=‘GBK‘
            value=value.decode(code)#解码生成unicode编码

  

原文地址:https://www.cnblogs.com/apple2016/p/9993825.html

时间: 2024-10-02 23:58:49

python 检测字符串编码类型是什么的相关文章

Python的字符串编码

本文用实验详细地演示了Python2和Python3在字符串编码上的区别. 在Python2中,字符串字面量对应于8位的字符或面向字节编码的字节字面量.这些字符串的一个重要限制是它们无法完全地支持国际字符集和Unicode编码.为了解决这种限制,Python2对Unicode数据使用了单独的字符串类型.要输入Unicode字符串字面量,要在第一个引号前加上前最'u'. Python2中还有一种称为字节字面量的字符串类型,它是指一个已经编码的字符串字面量,在Python2中字节字面量和普通字符串没

Python判断字符串编码以及编码的转换

判断字符串编码 使用 chardet 可以很方便的实现字符串/文件的编码检测.尤其是中文网页,有的页面使用GBK/GB2312,有的使用UTF8,如果你需要去爬一些页面,知道网页编码很重要 >>> import urllib >>> html = urllib.urlopen('http://www.chinaunix.net').read() >>> import chardet >>> chardet.detect(html) {

python中字符串编码转换

字符串编码转换程序员最苦逼的地方,什么乱码之类的几乎都是由汉字引起的. 其实编码问题很好搞定,只要记住一点: 任何平台的任何编码,都能和Unicode互相转换. UTF-8与GBK互相转换,那就先把UTF-8转换成Unicode,再从Unicode转换成GBK,反之同理. 注意:在python3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string # 这是一个 UTF-8 编码的字符串 utf8Str = "你好地球&quo

python中文字符串编码问题

接口测试的时候,发现接口返回内容是uncodie类型但是包含中文.在使用print进行打印时输出提示错误: UnicodeEncodeError: 'ascii' codec can't encode characters in position 733-738: ordinal not in range(128) 查阅资料发现是由于内容中包含了中文字符,导致unix系统在print解析是无法正常解析导致. 源码如下: def _ejson(con): comm = "echo '%s' | p

python中字符串编码问题

个人遇到问题: 某个文件1,里面有字符创"360云盘" 用cat看 用less命令查看时如下: 是用vim查看时如下: 显然在vim是能够正确识别的,也就是说这3个命令查看文件时,编码方式是不一样的. 下面用file命令来查看本文件的编码方式如下:file 文件名 编码方式是:ISO-8859 这个是什么编码方式呢?它是中文编码方式,由于file命令不是取全文,而是截取文章前面部分进行一个判断的.ISO-8859-1 到ISO-8859-16,其实,也就认为是GB2312的汉字编码方式

python检测字符串乱码

import chardet f=open('test.txt','rb') f_read=f.read() f_charInfo=chardet.detect(f_read) print(f_charInfo) # f_charInfo的输出是这样的的一个字典{'confidence': 0.99, 'encoding': 'utf-8'} 原文地址:https://www.cnblogs.com/hankleo/p/10791993.html

python 处理字符编码问题

今天好不容易重新开始写Python做实验,结果被字符编码虐的体无完肤.其实之前就已经比较清楚python处理字符编码的套路,但是今天白天反复的出现can't encode/decode ..., the original code not in 178之类的提示,甚是无力,后来偶尔使用了一下sys.setdefaultencoding('utf8')就解决了全部问题,真是不解. 下面还是总结一下Python几个编码设置的含义吧. 1. #coding=utf8 这种形式的注释告诉解释器,应该以c

【转载】关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型

下面的内容来自:http://www.cnblogs.com/blueskylcc/p/5332642.html, 对方也是转的,不过没有找到转载的出处: 1.#!/usr/bin/python 是用来说明脚本语言是 python 的 是要用 /usr/bin下面的程序(工具)python,这个解释器,来解释 python 脚本,来运行 python 脚本的. 2.# -*- coding: utf-8 -*- 是用来指定文件编码为 utf-8 的 详情可以参考:PEP 0263 - Defin

python 之字符串和编码

字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节.比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295. 由于计算机是美国人发明的,因此,最早只有1