网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
11月29日漏签0天
python3吧 关注:28,593贴子:201,245
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1 2 3 4 5 6 7 8 9 10 下一页 尾页
  • 159回复贴,共10页
  • ,跳到 页  
<<返回python3吧
>0< 加载中...

解决大家的编码问题,至少让你十年之类不会被编码困扰编码

  • 只看楼主
  • 收藏

  • 回复
  • 贴吧用户_QySDU3Q
  • 队列
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
字符编码和python使用encode,decode转换utf-8, gbk, gb2312


  • 贴吧用户_QySDU3Q
  • 队列
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
ASCII码
标准ASCII码使用7位二进制数表示大写或小写字母,数字0到9标点符号以及在美式英语中使用的特殊控制字符。
在标准ASCII码中,最高位(b7)用作奇偶校验位,所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分寄校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。


2025-11-29 07:38:37
广告
不感兴趣
开通SVIP免广告
  • 贴吧用户_QySDU3Q
  • 队列
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号。
常见的ASCII码大小:
换行LF为0x0A,回车CR为0x0D,空格为0x20,'0'为0x30,‘A’为0x41,'a'为0x61
查询ASCII技巧,方便查询ASCII码对应的字符:新建一个文本文档,按住ALT+要查询的码值(注意,这里是十进制),松开即可显示出对应字符。例如:按住ALT+97,则会显示出'a'。


  • 贴吧用户_QySDU3Q
  • 队列
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
扩展ASCII码
扩展ASCII码是从128-255的字符。
Unicode编码
注意:Unicode只是一个符号集,它规定了符号的二进制代码,却没有规定二进制代码如何存储。
所称的Unicode编码指的是UCS编码方式,即直接存入符号的Unicode二进制代码。


  • 贴吧用户_QySDU3Q
  • 队列
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
UTF-8编码
UTF-8是互联网上使用最广的一种Unicode的实现方式。
UTF-8是一种变长的编码方式,它使用1-4个字节表示一个符号,根据不同的符号选择不同长度的字节表示。
UTF-8的编码规则很简单,只有二条:
1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。
2)对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。


  • 贴吧用户_QySDU3Q
  • 队列
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Unicode符号范围(16进制) UTF-8编码方式(2进制)
0000 0000-0000 007F 0xxxxxxx
0000 0080-0000 07FF 110xxxxx 10xxxxxx
0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
跟据上表,解读UTF-8编码非常简单。如果一个字节的第一位是0,则这个字节单独就是一个字符;如果第一位是1,则连续有多少个1,就表示当前字符占用多少个字节。
Unicode与UTF-8的转换方式:
在Windows系统最简单的方式是采用记事本打开文档然后选择编码方式另存为。


  • 贴吧用户_QySDU3Q
  • 队列
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
解决python乱码问题
字符串在python内部中是采用unicode的编码方式,所以其他语言先decode转换成unicode编码,再encode转换成utf8编码。编码是一种用二进制数据表示抽象字符的方式,utf8是一种编码方式。
代码中的字符串编码默认和代码文件编码相同。
python2中的unicode和python3中的str等价。可以查看s.__class__,如果为<class 'str'>则为unicode编码及文本数据,如果为<class 'bytes'>则为utf8编码及二进制数据。str(s, 'utf8')和s.decode('utf8')等价。
如果字符串在代码中被定义为s=u'中文',则s就是python内部编码unicode。
unicode类型再解码会报错。
判断一个字符串是否为unicode方法isinstance(s, unicode),python2中的unicode和python3中的str等价,所以在python3中判断一个字符串是否为unicode方法为isinstance(s, str)。


  • 贴吧用户_QySDU3Q
  • 队列
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
获取系统默认编码:
import sysprint(sys.getdefaultencoding())
有些IDE输出乱码是因为控制台不能输出字符串的编码不是程序本身的问题。比如windows的控制台是gb2312,则utf8的输出格式不能正确输出。
一种输出格式为gb2312避免乱码的方式


2025-11-29 07:32:37
广告
不感兴趣
开通SVIP免广告
  • 贴吧用户_QySDU3Q
  • 队列
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • 贴吧用户_QySDU3Q
  • 队列
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
如果大家还有什么问题可以加我一起交流,我也会很耐心地为大家解答的


  • 贴吧用户_QySDU3Q
  • 队列
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • 信仰Dong
  • 数组
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
感谢楼主,学到了
另外同意一下


  • 贴吧用户_QySDU3Q
  • 队列
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
嗯,同意了,希望能够帮助到你的学习


  • 王濊
  • 单链表
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
啊啊啊,看得我眼花缭乱,楼主有空的话可以帮我解决几个小问题吗


2025-11-29 07:26:37
广告
不感兴趣
开通SVIP免广告
  • 贴吧用户_QySDU3Q
  • 队列
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好啊,你可以发出来


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 3 4 5 6 下一页 尾页
  • 159回复贴,共10页
  • ,跳到 页  
<<返回python3吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示