python编码问题

本文主要介绍了Python中Unicode编码的概念及应用,通过实例演示了如何处理不同编码(如GBK、UTF-8)下的中文字符,并解释了每种编码下汉字所占用的字节数。

这个主要是献给初学编程的小伙伴的:

在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进制位 

转载于:https://www.cnblogs.com/mosson/p/5606306.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值