文本编辑器utf8
"一".encode("gbk")
保存:"一"+utf8 保存为16进制的xe4xb8x80,x标识了这是utf8码
内存:xe4xb8x80+utf8 "一"即u4e00,u标识了这是Unicode码
保存:"一"即u4e00 xd2xbb,x标识了这是gbk码
所以,utf8码和gbk码都用x标识,Unicode码用u标识;而x和u本质上都表示二进制,只是标识的编码表不同,u单独的表示Unicode码,而x表示其他所有的编码
"一".encode("gbk").decode("Shift_JIS")
忽略此时的编码格式,仅当作16进制xd2xbb 在日本编码表中根据16进制,找到对应的字符"メサ"(通过查看Shift_JIS编码表,确实如此,xd2对应着"メ")
所以,本质上
encode:1.根据现有的16进制码+编码格式找到Unicode字符,2.根据Unicode字符找对应编码格式的16进制编码,Unicode是中转站
decode:根据现有的16进制编码(忽略编码格式),在指定的编码表中寻找字符,不需要Unicode做中转,直接在指定的编码表中查找,一步到位
python命令行中,直接回车和print
命令行输入的时候本身也是个文本编辑器,所以回车会
转义:字母前加""来表示常见的那些不能显示的ASCII字符
即不增加现有字符的情况下,却想增加表示,即用现有的字符组合产生新的表示,即斜杠""+字符
不表示其他的,专门用来转义其他已经存在的字符,以增加表示
有a
等
而这些表示有对应的字符串,a用"x07"这个整体的字符串来表示
即:"x07"来表示蜂鸣,但太长了谁记得住啊,所以不如用一个a
而
比较特殊,它没有对应的难记的字符串