• 技术文章 >Python技术 >Python基础教程

    python3中utf-8编码如何转换?

    小P小P2020-11-15 22:31:57原创3355
    python中的编码之间可以相互转换,这个我们在之前的文章中有讲到。那小编开始提问了,utf-8编码如何转换?有的小伙伴可能对这个词模模糊糊的有点印象。但是如果我们提到unicode编码大家就会觉得很熟。所以今天讲的是unicode编码里的utf-8,大家一起来试试两个不同编码的区别吧,也许会有新的惊喜。


    utf-8编码将一个 unicode 字符编码成 1~6 个字节,常用的英文字母被编码成 1 个字节,汉字通常是 3 个字节,只有很生僻的字符才会被编码成 4~6 个字节。注意,从 unicode 到 utf-8 并不是直接的对应,而是通过一些算法和规则来转换的。

    来看一下具体编码例子吧:

    >>> list('中'.encode('utf-8'))
    [228, 184, 173]
    >>> list('a'.encode('utf-8'))
    [97]

    可以看出,utf-8 将汉字 ‘中’ 编码成了三个字节,将英文字母 ‘a’ 编码成了一个字节,且 utf-8 编码兼容 ASCII 编码。

    拓展:unicode 编码

    为每种语言制定一套编码方式实在是太蠢了!为什么不能把所有语言的所有字符一起编码呢?

    把所有语言统一到一套编码里,这套编码就是 unicode 编码。使用 unicode 编码,无论处理什么文本都不会出现乱码问题了。

    unicode 编码使用两个字节(16 位 bit)表示一个字符,比较偏僻的字符需要使用 4 个字节。

    但是新的问题又来了,如果一段纯英文文本,用 unicode 编码存储会比用 ASCII 编码多占用一倍空间!无论是存储还是传输都很浪费!


    今天对utf-8编码转换的讲解到这里就结束了,不知道小伙伴们有没有熟练掌握呀~小编看了一遍就会了,代码真的很简单。后续有新的类似拓展,小编也会及时更新出来。

    专题推荐:python3编码
    上一篇:Python3编码类型有哪些?怎么转换? 下一篇:Python3中默认编码是什么?怎么用?

    相关文章推荐

    • Python3编码如何实现相互转化?• Python3编码如何实现文件操作?• Python3编码类型有哪些?怎么转换?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网