字符串编码转换

2017/10/4 posted in  Python
  • 乱码之类的几乎都是由汉字引起的。
  • 任何平台的任何编码 都能和 Unicode 互相转换
  • UTF-8 与 GBK 互相转换,那就先把UTF-8转换成Unicode,再从Unicode转换成GBK,反之同理。

decode与encode

  • decode的作用是将其他编码的字符串转换成 Unicode 编码
  • encode的作用是将 Unicode 编码转换成其他编码的字符串
  • 一句话:UTF-8是对Unicode字符集进行编码的一种编码方式

utf-8转gbk

# 这是一个 UTF-8 编码的字符串
utf8Str = "你好地球"

# 1. 将 UTF-8 编码的字符串 转换成 Unicode 编码
unicodeStr = utf8Str.decode("UTF-8")

# 2. 再将 Unicode 编码格式字符串 转换成 GBK 编码
gbkData = unicodeStr.encode("GBK")

gbk转utf-8


# 1. 再将 GBK 编码格式字符串 转化成 Unicode
unicodeStr = gbkData.decode("gbk")

# 2. 再将 Unicode 编码格式字符串转换成 UTF-8
utf8Str = unicodeStr.encode("UTF-8")