python-ASCII与Unicode

# Auther: Aaron Fan‘‘‘ASCII:不支持中文,1个英文占1个字节Unicode(万国码,支持所有国家的文字显示):支持中文,但是每个英文和中文都占2个字节UTF-8(是一种针对Unicode的可变长度字符编码,又称万国码。):    英文依然按照ASCII的方式占1个字节,所有的中文字符统一是3个字节    Unicode里面支持各个国家的编码转换,比如当中国的gbk格式的软件在日本打开出现乱码的时候,    必须把gbk转成Unicode编码后才可以正常显示。GBK:全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,    英文名称:Chinese Internal Code Specification)‘‘‘‘‘‘1、先转成Unicode2、再转换成gbk概括就是:先编码,后解码‘‘‘

#示例:‘‘‘gbk_file是一个gbk编码的文件

需求:把gbk_file转换成一个utf8编码的新文件,新文件名为:gbk_to_utf8_file‘‘‘

#python3一行命令搞定的方法#把gbk文件转换成utf8文件,源文件gbk_file,目标文件utf8file:open(‘utf8file‘,‘w+‘,encoding=‘utf-8‘).write(open(‘gbk_file‘,‘r‘,encoding=‘gbk‘).read())#把utf8文件转换成gbk文件,源文件utf8file,目标文件gbk_file:open(‘gbk_file‘,‘w+‘,encoding=‘gbk‘).write(open(‘utf8file‘,‘r‘,encoding=‘utf-8‘).read())

#python2上的实现方式:#gbk文件转换成utf8文件,源文件newfile,目标文件utf8file:pen(‘utf8file‘,‘w+‘).write(open(‘newfile‘,‘r‘).read().decode(‘gbk‘).encode(‘utf-8‘))
时间: 2024-10-22 16:47:52

python-ASCII与Unicode的相关文章

Python的ASCII, GB2312, Unicode , UTF-8 相互转换

ASCII 是一种字符集,包括大小写的英文字母.数字.控制字符等,它用一个字节表示,范围是 0-127 Unicode分为UTF-8和UTF-16.UTF-8变长度的,最多 6 个字节,小于 127 的字符用一个字节表示,与 ASCII 字符集的结果一样,ASCII 编码下的英语文本不需要修改就可以当作 UTF-8 编码进行处理. Python 从 2.2 开始支持 Unicode ,函数 decode( char_set )可以实现 其它编码到 Unicode 的转换,函数 encode( c

[转]Python的ASCII, GB2312, Unicode , UTF-8

2007-12-13 10:50:47|  分类: Python实用软件编|举报|字号 订阅 ASCII 是一种字符集,包括大小写的英文字母.数字.控制字符等,它用一个字节表示,范围是 0-127 Unicode分为UTF-8和UTF-16.UTF-8变长度的,最多 6 个字节,小于 127 的字符用一个字节表示,与 ASCII 字符集的结果一样,ASCII 编码下的英语文本不需要修改就可以当作 UTF-8 编码进行处理. Python 从 2.2 开始支持 Unicode ,函数 decode

难分难解的字符集ASCII、Unicode、UTF-8 ---- 如果你也感到困惑,赶紧来围观

闲来无事学习一下Python,在看到关于Python字符类型的时候有提到字符集,字符集的问题我一直没搞明白,ASCII.Unicode.UTF-8之间有什么区别呢?借着这个机会总算是有了一点点的明白,记录下来,学习一下. 谈到字符集的人,肯定是跟计算机打交道的人,由于计算机只能处理数字,没有人类这么超高的智慧,如果计算机需要处理文本,那就必须把文本转换成数字.那么问题来了:如何实现把文本转换成数字这个过程呢?聪明的人类想到了字符集.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte

ASCII、Unicode、UTF-8 字符串和编码

字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节.比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295. 由于计算机是美国人发明的,因此,最早只有1

字符编码,ASCII、Unicode与UTF-8的理解

首先我们先要明白的两点是:1.计算机中的信息都是由二进制的0和1储存的:2.我们再计算机屏幕上看到的各种字符都是计算机系统按照一定的规则将二进制数字转换而来的. 一.基本概念. 1.字符集(charset):简单来说就是计算机支持的所有字符的集合.但字符集并不是一成不变的,随着计算机在全世界的普及,计算机需要支持的字符越来越多. 2.编码系统(规则):本质上是一套规则,用来规定一个特定的字符对应的是哪一个二进制数字.所以编码系统是一个映射的集合,每一个映射的两端分别是一个字符和一个二进制数字.

字符编码笔记:ASCII,Unicode和UTF-8【转载】

最近买了部安卓的手机,google nexus5 系统是安卓4.4.2. 刚到手就发现链接wifi有问题,一直在获取ip(obtaining ip...)和验证.试过恢复出厂 重启 各种都不管用,只有设置静态ip才可以,但是不能一直这样子呀!! 查了下路由器,路由器已经分配了地址.所以最大可能就是安卓手机上拿到这个地址没有成功写入配置文件,为什么没有写入呢,就是权限的问题了,不明白为什么google会出现这个错误. 因为不熟悉安卓系统,所以查了好几天,终于在一个外国网站上发现了下面这个解决办法,

Android中检测字符编码(GB2312,ASCII,UTF8,UNICODE,TOTAL——ENCODINGS)方法(一)

package com.android.filebrowser; import java.io.*; import java.net.*; public class FileEncodingDetect { static final int GB2312 = 0; static final int ASCII = 1; static final int UTF8 = 2; static final int UNICODE = 3; //static final int GBK = 4; //st

python print输出unicode字符

命令行提示符下,python print输出unicode字符时出现以下 UnicodeEncodeError: 'gbk' codec can't encode character '\u30fb 不能输出 unicode 字符,程序中断. 解决方法: sys.stdout = io.TextIOWrapper(sys.stdout.buffer, errors = 'replace', line_buffering = True) python print输出unicode字符,布布扣,bu

字符编码的来源,ascii、unicode和utf-8编码的关系

字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节.比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295. 由于计算机是美国人发明的,因此,最早只有1

所谓编码--泛谈ASCII、Unicode、UTF8、UTF16、UCS-2等编码格式

最近在看nodejs的源码,看到stream的实现里面满地都是encoding,不由想起以前看过的一篇文章--在前面的随笔里面有提到过--阮一峰老师的<字符编码笔记:ASCII,Unicode和UTF-8>. 好的文章有一个好处,你每次看都会有新的收获,它就像一款拼图,你每次看都能收获几块碎片,补齐之前的认识:而好文章与拼图不一样的是,好文章是一块无垠的世界,当你不愿局限于当前的眼界的时候,你可以主动走出去,外面要更宽广.更精彩的多. 闲话说到这,开始聊聊所谓的编码. 大家都知道,计算机只认识