python 编码问题

如果你有用到非ASCII字符,则需要在文件头部进行字符编码的声明

# -*- coding: utf-8 -*-

常见编码介绍:
GB2312编码:适用于汉字处理、汉字通信等系统之间的信息交换
GBK编码:是汉字编码标准之一,是在 GB2312-80 标准基础上的内码扩展规范,使用了双字节编码
ASCII编码:是对英语字符和二进制之间的关系做的统一规定
Unicode编码:这是一种世界上所有字符的编码。当然了它没有规定的存储方式。
UTF-8编码:是 Unicode Transformation Format - 8 bit 的缩写, UTF-8 是 Unicode 的一种实现方式。它是可变长的编码方式,可以使用 1~4 个字节表示一个字符,可根据不同的符号而变化字节长度。

编码转换:
Python内部的字符串一般都是 Unicode编码。代码中字符串的默认编码与代码文件本身的编码是一致的。所以要做一些编码转换通常是要以Unicode作为中间编码进行转换的,即先将其他编码的字符串解码(decode)成 Unicode,再从 Unicode编码(encode)成另一种编码。

decode 的作用是将其他编码的字符串转换成 Unicode 编码

name.decode("GB2312")
#表示将GB2312编码的字符串name转换成Unicode编码

encode 的作用是将Unicode编码转换成其他编码的字符串

name.encode(”GB2312“)

表示将GB2312编码的字符串name转换成GB2312编码

判断是 s 字符串否为Unicode,如果是返回True,不是返回False :

isinstance(s, unicode)

下面代码可以获取系统默认编码:

#!/usr/bin/env python
#coding=utf-8
import sys
print sys.getdefaultencoding()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值