首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏python、mysql、go知识点积累

    字符编码、python2和python3编码的区别

    python2和python3字符编码的区别 python2 python3 字符编码 文本编辑器存储信息的过程 打开编辑器就在内存中打开了一个进程,用编辑器编写的内容存在内存中,断电会丢失。 不同编码格式存入与读取数据的过程 utf-8编码格式只能和Unicode格式相互转换,不能和其他编码格式转化 乱码的分析 存文件是乱码 用中文的编码格式存储日文等其他国家的文字则会导致存入的二进制位并不对应要存的语言的字符 读文件时乱码 读文件时如果读取采用的编码格式与文本原来的编码格式不同则会导致出现乱码,如用gbk读取ASCII编码的文件 总结 要想不出现乱码,文件中的字符按什么标准编码,就用什么标准去读取文件( python2和python3字符编码的区别 python2 python2有两种存储形式,第一种:Unicode;第二种:按coding头选择存储格式,假设python2用utf8存储x='中文',当你 Python2中默认使用ascii,Python3中默认使用utf-8,文本编辑器编写的文件默认为gbk编码格式。

    74930编辑于 2022-05-10
  • 来自专栏码云1024

    字符编码

    不同的国家和地区制定了不同的标准,由此产生了GB2312,BIG5,JIS等各自的编码标准。这些使用2个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。 UCS-2用两个字节编码,UCS-4用4个字节编码。 在 UNICODE 被采用之后,计算机存放字符串时,改为存放每个字符在 UNICODE 字符集中的序号。 4、常用编码规则 4.1 单字节字符编码 (1)编码标准:ISO-8859-1。 (2)说明:最简单的编码规则,每一个字节直接作为一个 UNICODE 字符。 (2)把 UNICODE 字符串通过 ANSI 编码转化为“字节串”时,根据各自编码的规定,一个 UNICODE 字符可能转化成一个字节或多个字节。 (2)与“ANSI 编码”类似的,把字符串通过 UNICODE 编码转化成“字节串”时,一个 UNICODE 字符可能转化成一个字节或多个字节。

    2.8K40发布于 2018-09-28
  • 来自专栏明明如月的技术专栏

    字符编码

    字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的? 字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得字符编码的知识。 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。 2)Unicode编码指的是UCS-2编码方式,即直接用两个字节存入字符的Unicode码。这个选项用的little endian格式。 2)Unicode:编码是四个字节“FF FE 25 4E”,其中“FF FE”表明是小头方式存储,真正的编码是4E25。 这样理解简单些,其实中间还要转换成同一字符对应的系统内部使用的 Unicode 编码,然后通过系统底层unicode编码还原成相应字符显示出来。

    2K20发布于 2021-08-27
  • 来自专栏python3

    字符编码

    字符编码 计算机基础 ? 文本编辑器存取文件的原理 1.打开编辑器就打开启动了一个进程,是在内存中,所以,用编码器编写的内容也都存放在内存中的,断电后数据丢失。 2.要想永久保存,需要点击保存按钮:编辑器把内存的数据拴到硬盘上。 3.早我们编写一个py文件,跟便携其它文件一样,都是一堆字符 python解释器执行py文件的原理 第一阶段:Python解释器启动,此时就相当于启动了一个文本编辑器 第二阶段:Python解释器相当于文本编辑器 字符编码 字符编码是将人类的字符编码成计算机能识别的数字,这种转换必须遵循一套固定的标准,该标准无非是人类字符与数字的对应关系,称之为字符编码表。 字符编码发生在哪三个阶段 1存 内存到硬盘 2取 硬盘到内存 3python3解释器解释 乱码分析 存的时候用什么编码,取的时候用什么编码

    1.6K10发布于 2020-01-15
  • 来自专栏_春华秋实

    字符字符集,字符编码

    字符字符集,字符编码  简书郭文圣 现在Unicode已然一统天下,我想很多年轻的程序员可能都没遇到过编码问题,更不用说了解编码的发展了。 字符集是字符组成的集合,通常以二维表的形式存在,二维表的内容和大小是由使用者的语言而定,是英语,是汉语,还是阿拉伯语。 字符编码是把字符集中的字符编码为特定的二进制数,以便在计算机中存储。 字符集和字符编码一般都是成对出现的,如ASCII、IOS-8859-1、GB2312、GBK,都是即表示了字符集又表示了对应的字符编码,以后统称为编码。 比如下图为GBK的编码空间,GBK/1、GBK/2是GB2312的区域,GBK/3、GBK/4、GBK/5是GBK的区域,红色是用户自定义区域,白色可能就是由于变长编码损失的区域了。 ? 一开始UCS用2个字节表示,叫做UCS-2,后来2个字节不够用,于是就用4个字节,叫做UCS-4。

    2.1K30发布于 2019-02-22
  • 来自专栏01ZOO

    字符编码实战

    他是一种针对Unicode的可变长度字符编码,也是一种前缀码。它可以用一至四个字节对Unicode字符集中的所有有效编码点进行编码,属于Unicode标准的一部。 就是,一个字符串在任何其它编码中表现为合法的UTF-8的可能性很低 更多细节可以参考这里 UTF8 与 python 在 python 中,尤其是 python2 中,字符串的处理一直是很令人头疼的问题 根本原因是 python2字符串是 ASCII 编码的,也就是说 python 中的一个 string,它只能表示一个 ASCII 编码字符串,如果要表示 unicode 字符串怎么办呢,python2 一个做法就是实用 python2 的类似处理,用 unicode 编码字符表示来存储,即 直接存储为 '\ud83d\ude01' 【这里为什么不是 U+1F601 呢,这两个其实是同一个 16进制数字 标准中默认大编码为 utf8, 实际在大部分时候无需在意编码的问题,但是使用 python2 另外。

    2.3K70发布于 2021-03-07
  • 来自专栏PHP在线

    字符编码笔记

    字符编码笔记:ASCII,Unicode和 UTF-8 1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。 2)Unicode编码指的是UCS-2编码方式,即直接用两个字节存入字符的Unicode码。这个选项用的little endian格式。 Unicode规范中定义,每一个文件的最前面分别加入一个表示编码顺序的字符,这个字符的名字叫做”零宽度非换行空格“(ZERO WIDTH NO-BREAK SPACE),用FEFF表示。 2)Unicode:编码是四个字节“FF FE 25 4E”,其中“FF FE”表明是小头方式存储,真正的编码是4E25。

    1.7K90发布于 2018-03-07
  • 关于字符编码

    ##关于字符编码内容涉及:UTF-8编码UTF-16编码你好UTF8编码:E4 BD A0 E5 A5 BD计算UTF-16编码得到:UTF16编码: 4F 60https://home.unicode.org /Unicode,统一码、万国码、单一码,是计算机科学领域里的一项业界标准,包括字符集、编码方案等。 Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。 早期的Unicode字符集(Unicode Character Set)使用2字节编码,即UCS-2。 UTF-16是完全对应于UCS-2的,即把UCS-2规定的字符直接保存下来。而根据字符序,又分为UTF-16LE (Little Endian)和UTF-16BE (Big Endian)。

    59110编辑于 2024-06-25
  • 来自专栏Crossin的编程教室

    判断字符编码

    今天本来打算讲点新课的,后来有些事耽搁,也没时间准备了,就分享一个小工具吧: python里面的字符编码是让人头大的一个东西,甚至很多时候你都不知道现在拿到的文本到底是什么编码。 这时候,chardet可以帮你判断编码。chardet是python的第三方扩展,用来检测字符串或文件的编码。 使用中,你有一个待检测的字符串s,只需: import chardet print chardet.detect(s) 就可以看到输出结果: {'confidence': 0.98999999999999999 , 'encoding': 'GB2312'} confidence是预测这种编码的可能性,encoding是编码名称。

    2.2K50发布于 2018-04-16
  • 来自专栏python3

    python字符编码

    近期接触到python的编码相关的东西,发现自己了解的不是太系统,故通过搜索资料做了一些总结。 字符编码 字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为 ASCII 码,一直沿用至今。 现在,捋一捋ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节。 python默认编码 源代码文件读取默认编码: python2.x中,脚本源代码文件读写的时候是默认使用ASCII来处理,由于ASCII不支持中文,故会报错。 解释器执行时对str类型使用的默认编码: python2.x: python中字符串的类型都属于str类型,而当python2.x的解释器内部执行的时候str默认也是使用ASCII编码,可以通过sys.setdefaultencoding

    2.1K20发布于 2020-01-13
  • 来自专栏雨临Lewis的博客

    Java - 字符编码

    字符编码其实就是对Unicode字符集的实现方式,用以约定如何用1~4个字节来存储字符字符编码 UTF-8 UTF-8是可变长编码,即多字节编码,在存储不同的字符时使用的字节数量是不同的。 不同字符编码的英文字母和中文汉字的字节数 英文字母: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 编码:GB2312;字节数 : 1 编码:GBK;字节数 : 2 编码:UTF-16LE;字节数 : 2 中文汉字: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 编码:GB2312;字节数 : 2 编码:GBK ;字节数 : 2 编码:GB18030;字节数 : 2 编码:ISO-8859-1;字节数 : 1 编码:UTF-8;字节数 : 3 编码:UTF-16;字节数 : 4 编码:UTF-16BE ;字节数 : 2 编码:UTF-16LE;字节数 : 2 参考链接 UTF-16BE、UTF-16LE、UTF-16 三者之间的区别 英文字母和中文汉字在不同字符编码下的字节数 为什么UTF-16

    2.4K10编辑于 2022-02-14
  • 来自专栏python3

    字符编码简介

    计算机起源于美国,早期计算机中使用的只有英文,没有其他的语言,而单字节可以表示2**8 -1即255个字符,可以表示所有的英文字符及许多控制符号。而且只用了一半。 ? Unicode把所有语言都统一到一套编码里,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。 因为Python的诞生比Unicode标准发布的时间还要早,所以最早的Python只支持ASCII编码,普通的字符串'ABC'在Python内部都是ASCII编码的。 现在Python支持Unicode编码了 UTF-8   UTF-8是一种针对Unicode的可变长度字符编码,又称万国码,由Ken Thompson于1992年创建。 UTF-8用1到6个字节编码Unicode字符。ASCII字符在utf-8编码格式中占用一个字节,汉子则占用三个字节。

    1.6K20发布于 2020-01-19
  • 来自专栏wOw的Android小站

    聊聊字符编码

    ASCII编码 学编程的时候,ASCII是最早介绍的字符编码. 标准ASCII使用7位二进制数,因为一个字节占8位,所以在第一位补0形成8位. 对照ASCII码,7位一共128个字符,231明显超过了128,所以对于ASCII编码来说,它并不认识0xe7. 这也说明了一个问题,由于ASCII编码长度很短,可以表示的字符有限,遇到中文或者其他字符,就需要其他编码来表示. 比如中文,上万个汉子需要表示,仅用1个字节表示$2^8$个字符是不够的.所以像GB2312就是使用两字节表示一个汉字,一共$2^8$ * $2^8$ = 65536个 Unicode编码 因为存在不同的编码 Latin-1属于单字节编码,最多能表示0-255的范围,即$2^8$,所以0xe7就在它的表示范围内,因此可以解码.

    1.5K20发布于 2018-09-18
  • 来自专栏这里只有VxWorks

    关于字符编码

    所以需要某种多字节编码方案 GB 2312-80 是1980年制定的中国汉字编码国家标准。共收录 7445 个字符。 信息技术中文编码字符集》,是中华人民共和国现时最新的内码字集。 GB 18030采用多字节编码,每个字可以由 1 个、2 个或 4 个字节组成。编码空间庞大,最多可定义 161 万个字符。支持少数民族的文字、繁体汉字以及日韩字。 Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。 早期的Unicode字符集(Unicode Character Set)使用2字节编码,即UCS-2

    1.3K20发布于 2021-12-02
  • 来自专栏老齐教室

    字符编码简介

    在ASCII中,主要规定了英语字符在计算机中的编码,1986年发布的最新版一共规定了128个字符编码编码字符集。 这两个项目有共同的目标:用一个涵盖所有正在广泛使用的语言的通用编码替换数百个相互冲突的字符编码。并且这两个项目在1991年合并,统一为Unicode字符集。这就是现在被广泛采用的字符集。 Unicode 包括视觉上的字形、编码方法、标准的字符编码字符特性(大小写字母)。 字符用一个字节(仍用7位编码,首位补 0),其他字符用两个、三个,乃至四个字节。

    2.4K50发布于 2021-05-20
  • 来自专栏程序生涯

    字符集和字符编码

    ╭(╯^╰)╮ 2、发展 - GB2312 随着计算机的发展,越来越多的国家也使用上了计算机,那么也就需要计算机来展示自己国家的字符了,以中国为例,汉字的数量之多是英文字母无法想象的,区区一个字节是根本不可能装下庞大的汉字体系 编码的过程是将字符转换成字节流。 解码的过程是将字节流解析为字符。 6.3 字符编码(Character Encoding) 是将字符集中的字符码映射为字节流的一种具体实现方案。 很多软件会“智能”的探测当前字节流使用的字符编码,这种探测过程出于效率考虑,通常会提取字节流前面若干个字节,看看是否符合某些常见字符编码编码规则。 因此如果你的PHP文件是采用带BOM标记的UTF-8进行编码的,那么有可能会出现问题。 6.8 Unicode编码和以前的字符编码有什么区别? 早期字符编码字符集和代码页等概念都是表达同一个意思。 但是对于Unicode则不同,Unicode字符集只是定义了字符的集合和唯一编号,Unicode编码,则是对UTF-8、UCS-2/UTF-16等具体编码方案的统称而已,并不是具体的编码方案。

    1.5K40发布于 2020-08-14
  • 来自专栏编程之路的专栏

    字符编码的前世今生——一文读懂字符编码

    计算机的字符编码 现在回到计算机世界的字符编码问题,要弄清楚计算机字符编码问题,咱们还得继续讲故事。 ,能表示的范围瞬间提升了,最大能表示2的8次方减1,那就是255,255-127是128,也就是说ISO-8859-1除去ASCII码的127个字符,还能存128个欧洲字符。 那么最大范围也就是2的16次方,可是随着Unicode表收录的字符不断增加,早期才收录六万多个,现在早就远超这个数量,因此2个字节不够用了,没办法,后来就规定使用2或4个字节来存储Unicode码,就是说 字符编码与编程 在早期,编程语言刚被发明的时候,几乎都是只支持ASCII码的,例如经典C语言,Python2等,因此在编写源码代码的时候,不能写中文注释,因为源代码是不支持这种非ASCII码字符的,这也是 直到Python3出来后,默认使用utf-8作为编码方式,这才彻底解决了Python2字符串关于乱码和编码转换的痛苦。 关于编程中字符乱码的问题,在后面的具体编程语言的章节中再详细讨论。

    2.9K40发布于 2019-06-26
  • 来自专栏用户4352451的专栏

    字符字符串,字符编码的区别

    字符字符串,字符编码 概念 字符是一个信息单位,在计算机里面,一个中文汉字是一个字符,一个英文字母是一个字符,一个阿拉伯数字是一个字符,一个标点符号也是一个字符字符集是字符组成的集合,通常以二维表的形式存在,二维表的内容和大小是由使用者的语言而定,是英语,是汉语,还是阿拉伯语。 字符编码是把字符集中的字符编码为特定的二进制数,以便在计算机中存储。 字符集和字符编码一般都是成对出现的,如ASCII、IOS-8859-1、GB2312、GBK,都是即表示了字符集又表示了对应的字符编码,以后统称为编码。 一个字符有多少个字节 GBK编码,一个汉字占两个字节。 UTF-8编码是变长编码,通常汉字占三个字节,扩展B区以后的汉字占四个字节。 小提示:mysql varchar(20)5.0版本后这个20代表的是20个字符

    1.7K20发布于 2020-08-26
  • 来自专栏业余草

    java字符编码转换

    在开发的过程中,字符编码常常令我们头痛。经常会出现各种各样的乱码。下面就介绍java的编码转换和常见的乱码是使用什么样的编码去读取的: 先看一张图片: ? 在看看java中如何处理编码的转换: package com.test; /** * 字符编码转换 * @author Herman.xiong * @date 2015年7月16日09:36

    4K30发布于 2019-01-21
  • 来自专栏全栈程序员必看

    python 之字符编码

    字符编码产生的过程 字符--------(翻译过程)------->数字 这个过程实际就是一个字符如何对应一个特定数字的标准,这个标准称之为字符编码 字符编码的涉及场景  1. 一个python文件中的内容是由一堆字符组成的(python文件未执行时)  2. python中的数据类型字符串是由一串字符组成的(python文件执行时) 三 字符编码发展史 阶段一:现代计算机起源于美国 于是产生了unicode, 统一用2Bytes代表一个字符, 2**16-1=65535,可代表6万多个字符,因而兼容万国语言 但对于通篇都是英文的文本来说,这种编码方式无疑是多了一倍的存储空间(二进制最终都是以电或者磁的方式存储到存储介质中的 encode的作用是将unicode编码转换成其他编码字符串,如str2.encode('gb2312'),表示将unicode编码字符串str2转换成gb2312编码。 中的字符编码 python2              str类型 ----------->字节编码后的二进制数据        字符串类型

    1.2K20编辑于 2022-07-21
领券