彻底搞懂 Unicode、UTF-8 及 Python encode()的机制、应用场景

本文科普了Unicode编码方式,重点讲解了UTF-8如何存储Unicode的二进制编码。在Python中,encode()函数将字符串转换为bytes类型,ASCII码表内的字符原样返回,而ASCII码表外的字符则先查找Unicode编码再进行编码。encode()主要用于不同语言间的交流,非ASCII字符编码后呈现16进制形式。
摘要由CSDN通过智能技术生成

2.1.1 编码方式科普

(参考资料 http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html)

Unicode 只是一个符号集,它只规定了符号的 二进制代码 ,却没有规定这个二进制代码应该 如何存储

其中有的字符只有 1B ,有的有 4B ,多出来的会有很多 0 ,这不太好,那有什么办法呢?UTF-8 可以很好地解决这个问题,其他方式此处不做讨论

UTF-8 就是在互联网上使用最广的一种 Unicode 实现方式 ,解决了怎么存储 Unicode 中的二进制编码 ,存储方式如下:

UTF-8 编码
0xxxxxxx
110xxxxx 10xxxxxx
1110xxxx 10xxxxxx 10xxxxxx
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

下面详细讲述 转换成 utf-8 :

  1. 拿到 的 unicode 编码 '\u4e00' (可以用python报错或baidu)
  2. calc 计算一下
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值