python的字符串的编码问题

时间:2022-03-19 10:25:46

最近在python中遇到了编码的问题,现总结如下:

说明:默认编码格式为 utf-8,可以改为其他编码格式

1. 判断字符串编码格式:

可以利用isinstance来判断字符串的编码格式:

example1:

>>>s =  "Hello World" # 一般字符串

>>>isinstance(s, str) #判断是否为一般字符串

>>>True

>>>isinstance(s, unicode)#判断是否为unicode

>>>False

example2:

>>>s = "哈哈" # 一般字符串

>>>isinstance(s, str) #判断是否为一般字符串

>>>True

>>>isinstance(s, unicode)#判断是否为unicode

>>>False

example3:

>>>s = u"哈哈"  # unicode

>>>isinstance(s, str) #判断是否为一般字符串

>>>False

>>>isinstance(s, unicode) #判断是否为unicode

>>>True

2.decode和encode的用法:

decode的作用是将其他编码格式的字符串转换为unicode编码格式

example1:

>>> s = "哈哈" # 一般字符串

>>> isinstance(s.decode("utf-8"), unicode) #判断转化后的字符串是否为unicode

>>>True

encode的作用是将unicode格式转换为其他编码格式:

example1:

>>> s = u"哈哈" # unicode字符串

>>> isinstance(s.encode("utf-8"), str) #判断转化后的字符串是否为unicode

>>>True