博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
study note8
阅读量:5233 次
发布时间:2019-06-14

本文共 716 字,大约阅读时间需要 2 分钟。

再次复习下ASCII码,unicode,utf-8是怎么回事:

最初的编码是ASCII码,每个英文占1字节,不能存储中文;为了统一世界各国的编码出现了unicode,但是在unicode中不管中文英文都占2字节,也就是原本1M的文件变成了2M,

造成了空间浪费;于是出现了unicode的扩展版本utf-8,在utf-8中英文仍然按照ASCII码的规则占1字节,汉字占3字节。

GBK和UTF-8如何转换:(中文windows默认编码集是gbk),utf-8和unicode之间不转换是可以互相打印的,但是gbk和unicode之间必须转换才能打印

 

#! /usr/bin/env python # -*- coding: utf-8 -*-  #特别注意,这个只是声明文件编码,所以见下个# # __author__ = "Deakin" # Email: 469792427@qq.com # Date: 2018/1/8 import sys print(sys.getdefaultencoding()) s="你好"                  #这里的s的默认编码仍然是unicode,不是utf-8 s_gbk=s.encode("gbk") print(s) print(s_gbk) print(s_gbk.decode('gbk'))
打印结果:

utf-8

你好
b'\xc4\xe3\xba\xc3'   #encode的时候转换成了bytes
你好                         #再次decode回unicode又转成了字符串

转载于:https://www.cnblogs.com/Deakin-Du/p/8228417.html

你可能感兴趣的文章
iOS 9 Safari广告拦截插件
查看>>
JavaScript 对象
查看>>
《剑指offer》第五十七题(为s的连续正数序列)
查看>>
javascript input只输入数字和字母
查看>>
Kafka体系架构
查看>>
1. spring boot起步之Hello World【从零开始学Spring Boot】
查看>>
淘宝产品抓取实战
查看>>
Hi java新特性
查看>>
JMS Session session = connection.createSession(paramA,paramB) 两个参数不同组合下的含义和区别...
查看>>
Eclipse下加载Android SDK源码
查看>>
Python 3 Mysql 增删改查
查看>>
iOS xcuserdata
查看>>
洛谷 P1583 魔法照片
查看>>
【软件构造】第五章
查看>>
第十章 关联容器(下)
查看>>
ORACLE日常操作手册
查看>>
java 的sigola orm 的开发,第一次学写java,可以用在play上面
查看>>
谨慎使用Marker Interface
查看>>
成功安装SQL Server实例后 无法找到SQL Server Configuration Manager工具的解决方案
查看>>
Bootstrap之Bootstrap组件
查看>>