python 中utf8,u_str的转换
程序员文章站
2024-03-24 11:55:22
...
先来介绍下utf8的来历
最早英文用的是ASCII码表示大小写字母和符号已经足够了,但是扩展到其他语言,中文,法语这种则不够,所以产生了unicode编码。
用unicode其实就是ASCII码的扩展,增加了几位用以表示不同语言中的不同字符,它是一种符号集,规定了符号的二进制值,却没有规定存储格式
utf-8就是unicode的一种基本实现方式,它是一种变长的存储实现方式,可以避免英文字符占用很多字节,规则如下
1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的 Unicode 码。因此对于英语字母,UTF-8 编码和 ASCII 码是相同的。
2)对于n字节的符号(n > 1),第一个字节的前n位都设为1,第n + 1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的 Unicode 码。
python中的转换
>>> a = u'写代码'
>>> b = '读代码'
>>> a
u'\u5199\u4ee3\u7801'
>>> b
'\xe8\xaf\xbb\xe4\xbb\xa3\xe7\xa0\x81'
先写两个str,上面a是unicode的直接编码的u_str,5199本身就表示’写’这个字
下面b的方式是utf-8的方式
转换只需要
'\xe8\xaf\xbb\xe4\xbb\xa3\xe7\xa0\x81'
>>> a.encode('utf-8')
'\xe5\x86\x99\xe4\xbb\xa3\xe7\xa0\x81'
>>> b.decode('utf-8')
u'\u8bfb\u4ee3\u7801'
上一篇: 时间运算之Dates
下一篇: java时间运算
推荐阅读
-
文本的编码转换ANSI、UNICODE、UTF8
-
python 中utf8,u_str的转换
-
ANSI,UNICODE,UTF8之间的相互转换
-
go语言 进行文件编码格式转换中(GBK 转UTF8),可能出错部分文件出现乱码情况的解决。
-
SpringMVC中四种日期格式的转换
-
Python练习题答案: 中可能包含多个列表列表编号的平方和【难度:1级】--景越Python编程实例训练营,1000道上机题等你来挑战
-
python中的格式化输入输出
-
Python中的输入输出(IO)
-
Python中的bytearray()和bytes()函数
-
Python中 str、bytes、bytearray的相互转化