python编码转换函数 python编码转换在线

Python中 设计一个程序,输出你的中文姓名和姓名中每个字的unicode编码 。(要求以下是一个简单python编码转换函数的Python程序,用于输出中文姓名和每个字的Unicode编码:
name = "python编码转换函数你的中文姓名"for char in name:print(char, hex(ord(char)))
解释一下代码:
第一行定义了一个字符串变量name,其中包含了你的中文姓名 。
第二行使用了一个for循环来遍历name中的每个字符,并将其打印到屏幕上 。
在循环体内部,我们使用了hex()函数将每个字符的Unicode编码转换成十六进制,并将其打印到屏幕上 。
请将代码中的“你的中文姓名”替换为你自己的中文姓名 。
python 字符串格式的unicode编码转中文 python对于Unicode编码可以使用decode进行转换成中文:
str = b'\xe8\xb4\xb9\xe8\x84\x91\xe5\xad\x90'
str.decode('utf-8')
'费脑子'
如果是字符串类型的Unicode编码没办法直接用decode进行转换:
str ="\\xe8\\xb4\\xb9\\xe8\\x84\\x91\\xe5\\xad\\x90"
str.decode('utf-8')
Traceback (most recent call last):
File "stdin", line 1, in module
AttributeError: 'str' object has no attribute 'decode'
处理方式:
str = eval("b" + "\"" + str + "\"")
str.decode('utf-8')
'费脑子'
python3.4 编码有哪些Python3中python编码转换函数的编码问题前python编码转换函数,第一个段落对字节、ASCII与Unicode与UTF-8等进行基本介绍python编码转换函数 , 如果不对这几种编码犯头晕 , 可直接跳过 。
ASCII与Unicode与UTF-8与GBK
首先从老大哥说起 。跟很多人一样,大学读了这么久 , 久仰ASCII编码的大名 。要说这个老大哥,python编码转换函数我们再先从字节说起 。一个字节包括八个比特位 , 每个比特位表示0或1,一个字节即可表示从00000000到11111111共2^8=256个数字 。一个ASCII编码使用一个字节(除去字节的最高位作为作奇偶校验位) , ASCII编码实际使用一个字节中的7个比特位来表示字符,共可表示2^7=128个字符 。比如那时写C语言的程序 , 就经常要背下ASCII编码中的01000001(即十进制的65)表示字符‘A’,01000001加上32之后的01100001(即十进制的97)表示字符‘a’ 。现在打开Python,调用chr和ord函数,我们可以看到Python为我们对ASCII编码进行了转换 。
第一个00000000表示空字符,因此ASCII编码实际上只包括了
字母、标点符号、特殊符号等共127个字符 。因为ASCII是在美国出生的 , 对于由字母组成单词进而用单词表达的英文来说也是够了 。但是中国人、日本人、
韩国人等其他语言的人不服了 。中文是一个字一个字 , ASCII编码用上了浑身解数256个字符都不够用 。
因此后来出现了Unicode编码 。Unicode编码通常由两个字节组成,共表示256*256个字符,即所谓的UCS-2 。某些偏僻字还会用到四个字节,即所谓的UCS-4 。也就是说Unicode标准也还在发展 。但UCS-4出现的比较少,我们先记?。鹤钤嫉腁SCII编码使用一个字节编码,但由于语言差异字符众多 , 人们用上了两个字节,出现了统一的、囊括多国语言的Unicode编码 。
在Unicode中,原本ASCII中的127个字符只需在前面补一个全零的字节即可,比如前文谈到的字符‘a’:01100001,在Unicode中变成了00000000 01100001 。不久,美国人不开心了,吃上了世界民族之林的大锅饭 , 原本只需一个字节就能传输的英文现在变成两个字节 , 非常浪费存储空间和传输速度 。
人们再发挥聪明才智 , 于是出现了UTF-8编码 。因为针对的是空间浪费问题 , 因此这种UTF-8编码是可变长短的,从英文字母的一个字节,到中文的通常的三个字节,再到某些生僻字的六个字节 。解决了空间问题 , UTF-8编码还有一个神奇的附加功能,那就是兼容了老大哥的ASCII编码 。一些老古董软件现在在UTF-8编码中可以继续工作 。

推荐阅读