Unicode和ASCII码属于同一级别的,都是字符集,字符集规定从1到这个字符集的最大范围每个序号都各表示什么意思.比如ASCII字符集中序号65表示"A". 那接下来的UTF8和UTF16就相当于我们在计算机中怎么表示这个序号了.这就好比,通常情况下我们用十进制表示数字(1表示一个,2表示两个).但是有时候我们也会根据情况用二进制,八进制,十六进制表示. UTF8编码规则表示一个序号可能用一个字节/两个字节/三个字节来表示.UTF16编码规则表示一个序号只会用两个字节表示.其他的编…
关于编码,绕不开下面这些概念 ①Unicode/UTF-8/UTF-16/UTF-32 ②大小端字节序(big-endian/little-endian) ③BOM(Byte Order Mark) 1.关于Unicode/UTF-8/UTF-16/UTF-32 ①Unicode其实应该是一个码值表.(百度百科:Unicode的功用是为每一个字符提供一个唯一的代码(即一组数字)). ②UTF-8/UTF-16/UTF-32是通过对Unicode码值进行对应规则转换后,编码保持到内存/文件中.UT…
Python2.7 中文字符编码 & Pycharm utf-8设置.Unicode与utf-8的区别 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-6-6 一.关于编码和乱码,有以下几个重要的概念需要搞清楚:   二.Pycharm 设置编码, 可以按如下步骤设置: Ctrl + Shift + A 搜索 encoding 把能设置成 utf-8 的地方都设置成 utf-8 想要一劳永逸,就将默认设置里的enco…
1. Unicode与ISO 10646 全世界很多个国家都在为自己的文字编码,并且互不想通,不同的语言字符编码值相同却代表不同的符号(例如:韩文编码EUC-KR中“한국어”的编码值正好是汉字编码GBK中的“茄惫绢”).因此,同一份文档,拷贝至不同语言的机器,就可能成了乱码,于是人们就想:我们能不能定义一个超大的字符集,它可以容纳全世界所有的文字字符,再对它们统一进行编码,让每一个字符都对应一个不同的编码值,从而就不会再有乱码了. 如果说“各个国家都在为自己文字独立编码”是百家争鸣,那么“建立世…
在mac上使用默认的文本编辑器打开下载的xx.txt文件,如果文本是gbk的编码可能会出现 文本编码Unicode utf-8 不适用的打开错误,如下图 解决方式: 文本编辑---偏好设置-----打开和存储 ---纯文本文件编码----打开文件:选项里面的 自动 改为 中文GB18030 如下设置 最后再打开出错文本即可…
由于MySQL编码原因会导致数据库出现乱码. 解决办法: 修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码. 具体操作: 1.进入MySQL控制台 >mysql -uroot -p #输入密码进入 >status; #查看当前MySQL运行状态,如下图所示: 2.修改mysql配置文件 [root@Hadoop-NN-01 ~]# vi /etc/my.cnf #在[client]段增加下面代码 default-character-set=utf…
php转换字符编码为utf-8 function strToUtf8($str){ $encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5')); if($encode == 'UTF-8'){ return $str; }else{ return mb_convert_encoding($str, 'UTF-8', $encode); } }…
最近有一些朋友常问我一些乱码的问题,和他们交流过程中,发现这个编码的相关知识还真是杂乱不堪,不少人对一些知识理解似乎也有些偏差,网上百度, google的内容,也有不少以讹传讹,根本就是错误的(例如说 unicode编码是两个字节),各种软件让你选择编码的时候,常常是很长的一个选单,让用户不知道该如何选.基于这样的问题,我就写下我的理解吧,一方面帮助一些需要帮助的人纠正认识,一方面作为自己以后备查的资料. 1. ASCII(American Standard Code for Informati…
字符编码介绍及不同编码区别 今天看到这篇关于字符编码的文章,抑制不住喜悦(总结的好详细)所以转到这里来.转自:祥龙之子http://www.cnblogs.com/cy163/archive/2007/05/31/766886.html UNICODE,GBK,UTF-8区别 简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是一兼容的,同一个汉字,那三个码值是完全不一样的.如"汉"的uncode值与gbk就是不一样的,假设…
Ascii编码 由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母.数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122. 但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去. 你可以想得到的是,全世界有上百种语言,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr里,各国有各国的标准,就会不可避免地出现冲突,结…
UTF-32 用 4 个字节存储每一个字符,以保证能把 UCS 完全表达出来.但实际上 UCS 的字符数量根本不需要用 32 位表示,UTF-32 极大地浪费了空间.另外,由于组合字符的存在,定长表示并不能如预期那样迅速地定位字符,反正就是超级不好用. UTF-16 将 UCS 映射为 16 长的整数,用于数据存储或传输.UCS 的码位,需要 1 个或 2 个 16 位的码来表示,因此这是一个变长表示.另外,UTF-16 也需要指定字节序.Java 和 C# 里的字符串表示就是用的 UTF-16…
开篇 https://blog.csdn.net/weixin_37703598/article/details/80679376 我们并不是在写代码,我们只是将自己的思想通过代码表达出来! 1 将思维变现成为一行代码,是从抽象思维到具体代码的编码过程:继而计算机再将我们的代码再解码为计算机能处理的形式--2进制数字. 2 当计算机需要向你展示数据时它还需要将2进制数字参照一定的规则(码表)编码为人所能理解的格式. 如果不能清楚的理解编码和解码的原理和规则,我想作为程序猿的你是一定会善罢甘休的吧…
为啥需要Unicode 我们知道计算机其实挺笨的,它只认识0101这样的字符串,当然了我们看这样的01串时肯定会比较头晕的,所以很多时候为了描述简单都用十进制,十六进制,八进制表示.实际上都是等价的,没啥太多不一样.其他啥文字图片之类的其他东东计算机不认识.那为了在计算机上表示这些信息就必须转换成一些数字.你肯定不能想怎么转换就怎么转,必须得有定些规则.于是刚开始的时候就有ASCII字符集(American Standard Code for Information Interchange, "…
UTF-16编码方式 1. UTF-16编码方式源于UCS-2(Universal Character Set coded in 2 octets.2-byte Universal Character Set).而UCS-2,是早期遗留下来的历史产物. UCS-2将字符编号(即码点值)直接映射为字符编码(CEF,而非CES,详见前文中对现代字符编码模型的解释),亦即字符编号就是字符编码,中间没有经过特别的编码算法转换.因此,从现代字符编码模型的角度来看的话,此时并没有将编号字符集CCS与字符编码…
原文地址:http://www.cnblogs.com/kingcat/archive/2012/10/16/2726334.html 为啥需要Unicode 我们知道计算机其实挺笨的,它只认识0101这样的字符串,当然了我们看这样的01串时肯定会比较头晕的,所以很多时候为了描述简单都用十进制,十六进制,八进制表示.实际上都是等价的,没啥太多不一样.其他啥文字图片之类的其他东东计算机不认识.那为了在计算机上表示这些信息就必须转换成一些数字.你肯定不能想怎么转换就怎么转,必须得有定些规则.于是刚开…
文章转自http://www.cnblogs.com/kingcat/archive/2012/10/16/2726334.html (http://swiftlet.net/archives/category/char-encoding) 为啥需要Unicode 我们知道计算机其实挺笨的,它只认识0101这样的字符串,当然了我们看这样的01串时肯定会比较头晕的,所以很多时候为了描述简单都用十进制,十六进制,八进制表示.实际上都是等价的,没啥太多不一样.其他啥文字图片之类的其他东东计算机不认识.…
来自:http://www.cnblogs.com/kingcat/archive/2012/10/16/2726334.html ------------------------------------------------------------------------------------ 为啥需要Unicode 我们知道计算机其实挺笨的,它只认识0101这样的字符串,当然了我们看这样的01串时肯定会比较头晕的,所以很多时候为了描述简单都用十进制,十六进制,八进制表示.实际上都是等价的…
参考地址:http://www.cnblogs.com/kingcat/archive/2012/10/16/2726334.html Java中,char类型用UTF-16编码描述一个代码单元 为啥需要Unicode 我们知道计算机其实挺笨的,它只认识0101这样的字符串,当然了我们看这样的01串时肯定会比较头晕的,所以很多时候为了描述简单都用十进制,十六进制,八进制表示.实际上都是等价的,没啥太多不一样.其他啥文字图片之类的其他东东计算机不认识.那为了在计算机上表示这些信息就必须转换成一些数…
博客搬家: java字符编码问题 前段时间在读<java核心技术卷一>,遇到一些名词:码点.代码单元等,其实字面意思不难理解,解释如下 码点(code point):Unicode编码表中某个字符对应的代码值 代码单元(code unit):用于UTF-16编码的最小单元,16个bit 注意上述只是针对java中字符和字符串的Unicode+UTF-16机制的解释.若是其他编码方式就另说,如UTF-8的代码单元是用8个bit编码. 下面问题来了 书中建议,尽量不要使用char类型,最好将字符串…
计算机早期是只支持ASCII码的,经过long long的发展,出现了这些支持世界上各种语言字符的编码:unicode, utf-8, gb2312. 对于unicode, utf-8, gb2312,虽然都能表示各种字符,但是各种字符在各种编码方式下的码是不一样的.可以把utf-8, gb2312理解为unicode这种编码思想(支持各种字符)的各种实现. python中的函数unicode(str, "UTF-8"),可以返回"UTF-8"编码的字符串str的u…
以下仅为个人学习的记录,如有疏漏不妥之处,还请不吝赐教. 关系 Unicode是一个字符集.顾名思义,字符的集合.GBK,BIG5,ISO8859-1,ASCII都是字符集. 有一点不同的是,Unicode并没有规定字符的编码是如何实现的,上述的其它字符集有其编码方式.Unicode就好比java中的抽象类,实现编码的方法是抽象的.因此,需要实现编码方式才能应用于实际.UTF-8,UTF-16实现它编码方式. UTF-8 UTF-8是变长的.即字符编码的字节数有差异.比如"A"的编码0…
Unicode Unicode(统一码.万国码.单一码)是计算机科学领域里的一项业界标准,包括字符集.编码方案等.Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言.跨平台进行文本转换.处理的要求.1990年开始研发,1994年正式公布. 英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的.为了解决传统的字符编码方案的局限而产生了Unicode.Unicode通常用两个字节表示一个字符,原有的英文…
什么是字符集 在介绍字符集之前,我们先了解下为什么要有字符集.我们在计算机屏幕上看到的是实体化的文字,而在计算机存储介质中存放的实际是二进制的比特流.那么在这两者之间的转换规则就需要一个统一的标准,否则把我们的U盘插到老板的电脑上 0, utf-8占3个byte Unicode占2个byte,而且较为智能,字符自动占一个字符 anscii占1个byte 1,实例 >>>name='马明' #xshell默认存成了utf8 >>>name >>>'\xe…
在使用Eclipse开发中,编码默认是ISO-8859-1,不支持中文.这样我们每次新建文件都要手动修改编码,非常麻烦.其实我们可以设置文件默认编码,今后再新建文件时就不用修改编码了. 1.打开Eclipse,点击Window弹出下拉列表,选择Preference: 2.然后在弹出的Preference设置里,找到Web,并点击JSP Files,我们可以看到默认的jsp文件的字符编码是ISO-8859-1(ISO Latin-1) 在右边把Encoding设置为ISO 10646/Unicod…
编码的发展史: 一开始计算机只在美国使用.8位的字节可以组合出256种不同的状态.他们将0到32种状态规定为”控制码“,后来又用其中32号以后的状态表示空格.标点符号.数字和大小写字母.这样一直编到了127号状态.这样计算机就可以用不同字节来存储英文的文字了.这种指定某个状态为某个动作或者符号的过程称为编码.而以上的方案的编码称为ASNI的ASCII编码(ASCII: American Standard Code for Information Interchange, 美国信息互换标准代码).…
什么是字符编码? --世界上有很多国家,每个国家都有自己独特的语言,所以在计算机普及的当今世界, 每个国家都有自己的字符编码,本国的软件运行在其他国家的机器上,会出现乱码, 有utf-8,gbk等各种编码格式,出现乱象,软件无法跨国界运行 如何解决乱码? -- 产生了万国码unicode,统一每个文字占用2个字节. -- utf-8相当于unicode扩展集,英文按照ascii码中占用1个字节,中文占用3个字节 -- gbk编码,windows默认编码,不支持utf-8 字符之间如何转换? --…
Mysql数据库是一个开源的数据库,应用非常广泛.以下是修改mysql数据库的字符编码的操作过程. 步骤1:查看当前的字符编码方法 mysql> show variables like'character%'; +--------------------------+----------------------------+ |Variable_name |Value | +--------------------------+----------------------------+ |cha…
这个修改说来简单,其实不同的系统,修改起来还真不一样.下面来罗列下3中情况 首先所有修改的动作都是要创建一个叫 sitecustomize.py的文件,为什么要创建这个文件呢,是因为python在启动的时候会去load的这个文件,所以你如果要修改一些启动的变量就可以把操作写在这个文件. 修改默认字符编码的代码很简单就2行: # sitecustomize.py # this file can be anywhere in your Python path, # but it usually go…
使用过Linux的同志就知道,在Linux下安装mysql,尤其是使用yum安装的时候,我们是没法选择其默认的字符编码方式.这个就是一个比较头痛的问题,如果Linux数据库中使用到中文的时候,乱码问题会让你很头痛.今天就来先说说Linux下怎么设置其默认编码方式. 1.首先中止其mysql服务,需要在root权限下 service mysqld stop 2.在/etc/下面找到my.cnf文件,如果没有,找到mysql的安装目录下的support-files文件夹下的my-medium.cnf…
python基础第三天 字符串 str 作用: 用来记录文本(文字)信息,给人类识别用的,为人们提供注释解释说明 表示方式: 在非注释中,凡是用引号括起来的部分都是字符串 ' 单引号 " 双引号 ''' 三单引号 """ 三双引号 空字符串的字面值表示方法 '' "" ''' """ 单引号和双引号的区别: 单引号的内的双引号不算结束符 双引号的内的单引号不算结束符 扩展:因为解释执行器根据单引号为开始符往后找单引号…