python编码问题
2016-06-22 10:51
369 查看
这个主要是献给初学编程的小伙伴的:
在python编程中,最常用的数据类型就是字符串,而且很多时候你会用到一些不属于标准ASCII字符集的字符,这个时候就容易出现编码错误的异常,这会给初学编程的小伙伴造成很大的困扰,但是如果你了解的python的Unicode,并在python编程中遵循一定的原则,这个问题就很容易解决:
Unicode:
Unicode是一种字符集,它为每一种现代或者古代的文字提供了统一的序列号,规定了符号的二进制代码,但是没有规定这个二进制代码应该如何存储,Unicode的编码方式是固定的大师实现方式可以根据不同的需要有不同的选择:utf-8、utf-16........
在python中gbk编码的汉字一个汉字占两个字符
utf-8编码的汉字一个汉字占三个字符
实例:(请将你的名字转换成二进制编码的形式)
注:
1bytes = 8bit(0000,0000)8个二进制位
1、在gbk编码中一个汉字是2个字节
1个汉字 = 2个字节 = 16bit(16个二进制位)
2、在utf-8的编码中一个汉字是3个字节个
1个字母是1字节占8个2进制位
在python编程中,最常用的数据类型就是字符串,而且很多时候你会用到一些不属于标准ASCII字符集的字符,这个时候就容易出现编码错误的异常,这会给初学编程的小伙伴造成很大的困扰,但是如果你了解的python的Unicode,并在python编程中遵循一定的原则,这个问题就很容易解决:
Unicode:
Unicode是一种字符集,它为每一种现代或者古代的文字提供了统一的序列号,规定了符号的二进制代码,但是没有规定这个二进制代码应该如何存储,Unicode的编码方式是固定的大师实现方式可以根据不同的需要有不同的选择:utf-8、utf-16........
在python中gbk编码的汉字一个汉字占两个字符
utf-8编码的汉字一个汉字占三个字符
实例:(请将你的名字转换成二进制编码的形式)
#!usr/bin/env python #-*- coding:utf-8 -*- m = "李睦晨" for i in m:#循环遍历m中的每一个元素 b = bytes(i, encoding="gbk")#将m中的每一个元素转换成字节的形式指定是 gbk的编码形式 for v in b:#将b是16进制的形式转换成10进制 b1 = bin(v)#10进制直接转换成2进制 print(b1)
注:
1bytes = 8bit(0000,0000)8个二进制位
1、在gbk编码中一个汉字是2个字节
1个汉字 = 2个字节 = 16bit(16个二进制位)
2、在utf-8的编码中一个汉字是3个字节个
1个字母是1字节占8个2进制位
相关文章推荐
- Quzh[python]统计元音字母——输入一个字符串,统计处其中元音字母的数量。
- Python图表绘制:matplotlib绘图库入门
- Python - iterable 简单理解
- Python-SciPyStack安装(NumPy & SciPy)
- 转 python基础学习笔记(一)
- python 反编译 pyc 资料
- Python调用(运行)外部程序
- Python按行读取文件的简单实现方法
- python-crontab实现定时任务
- python的json.dumps中文问题
- python进程、线程、协程
- Python的zip函数
- 基于python的机器学习库
- Python全栈开发之11、进程和线程
- python中使用xlrd、xlwt操作excel表格详解
- Python全栈开发之目录
- python3.4学习笔记(十六) windows下面安装easy_install和pip教程
- python学习好书推荐
- python 进程和线程
- Python的不同实现