it_*_*ure -3 python encoding ascii utf-8 python-3.x
A9在ascii表中代表©,如何A9在asthon中将ascii编码更改为utf-8编码?将asii编码改为utf-8的规则是什么?
Mar*_*ers 11
任何给定的ASCII码点都等于该码点的UTF-8编码.这是故意的.
但是,©它不是ASCII码点,而是Latin-1码点.ASCII是7位标准,代码点从00到7F运行.除此之外,Latin 1(ISO-8859-1)从U + 0080运行到U + 00FF,每个代码点需要2个UTF-8字节进行编码.
只需从Latin 1解码,编码为UTF-8:
>>> b'\xA9'.decode('latin1').encode('utf8')
b'\xc2\xa9'
Run Code Online (Sandbox Code Playgroud)
至于UTF-8的"规则",最好在UTF-8维基百科文章中解释.
对于其值适合单个字节的Latin-1代码点,规则很简单:前2位(10或者11)形成第一个字节的低两位,以及110000高位.代码点的低6位10作为高位给出.
A9,或者10101001成为11000010 10101001或C2 A9:
10 101001 Latin-1 codepoint A9
.. ------
/ \
11000010 10101001 UTF-8 encoding C2 A9
.. ------
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
182 次 |
| 最近记录: |