gbk

Python2和3字符编码的区别

戏子无情 提交于 2020-01-28 17:46:58
Python2和3字符编码的区别 一、字符编码应用之Python 1.1 执行Python程序的三个阶段 Python test.py (再强调一遍,执行test.py的第一步,一定是先将文件内容从硬盘读入到内存中) test.py文件内容以gbk格式保存的,内容为: [ 阶段一:启动Python解释器 阶段二:Python解释器此时就是一个文本编辑器,负责打开文件test.py,即从硬盘中读取test.py的内容到内存中 此时,Python解释器会读取test.py的第一行内容, #coding:utf-8 或 #-*-coding:utf-8-*- ,以此决定以什么编码格式将代码读入内存,这一行就是设定Python解释器这个软件使用的编码格式。 可以用sys.getdefaultencoding()查看,如果不在Python文件指定头信息 #-*-coding:utf-8-*- ,那就使用Python默认的编码格式。 import sys sys.getdefaultencoding() Copy'utf-8' Python2中默认使用ascii,Python3中默认使用utf-8。 改正:在test.py指定文件头,字符编码一定要为gbk。即更正为 #coding:gbk 你好啊 阶段三:读取已经加载到内存的代码(Unicode编码格式),然后执行

pip install Wikipedia2Vec时报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc4 in position 41: invalid continuation byte

孤街醉人 提交于 2020-01-23 00:47:57
解决办法: 根据错误提示找到对应的文件,d:\python\lib\site-packages\pip\compat\__init__.py,打开将里面的return s.encode('utf-8')改为return s.encode('gbk') (最好是将所有的utf-8都改为gbk),保存之后重新再装一遍Wikipedia2Vec。 此时又出现了一个新的错误:error: Microsoft Visual C++ 14.0 is required. 解决办法: 可参考链接: https://blog.csdn.net/weixin_40547993/article/details/89399825 即安装Microsoft visual c++ 14.0,安装包: Microsoft Visual C++ Build Tools 2015 安装成功后再执行pip install Wikipedia2Vec即可。 来源: https://www.cnblogs.com/zcy9838/p/12229956.html

真正解决方案:前端 请求 unable to decode value

我只是一个虾纸丫 提交于 2020-01-22 13:22:08
一次爬取小说网站的过程中,遇到了爬虫提交form表单中含有(unable to decode value)的问题,keyword为搜索关键字,然而search参数不知道是什么,我需要还原 点击 VIew URL encoded 然而当我习惯性的打开百度,搜到的确实这样的 然而打印 出来的却不是 %CB%D1+%CB%F7 a = '萝莉' print ( a . encode ( 'gbk' ) ) 结果:b’\xc2\xdc\xc0\xf2’ 还有这个,介绍了js的方法,然而我用不了 最后看到 但是还是不行 之后看到网页的编码为‘ charset=gbk’,应该加上encoding a = '%CB%D1+%CB%F7' print ( urllib . parse . unquote ( a , encoding = 'gbk' ) ) 结果正是 搜索 这两个字(坑人) 之后date这样组就好了 date = {'keyword' : '少女'.encode('gbk'),'search':'搜索'.encode('gbk')} 来源: CSDN 作者: holore 链接: https://blog.csdn.net/holore/article/details/104066280

MySQL 按首字母排序

為{幸葍}努か 提交于 2020-01-21 03:57:53
如果,mysql字段中的内容是全英文的,那么排序直接常规排序ASC DESC ASC 正序 DESC倒叙 ,就可以。 如果想要排中文的汉字,其实是按着拼音排序 通常我们在查询书籍时,会出现按照书籍的名称进行排序,由于一般数据库编码大都为utf-8 ,他的排序方式为按英文字母规则排序 "a,b,c… " 由上表看出,只要我们在排序时将需要排序的字段转化为GBK编码再进行排序,就可以实现按照书籍名称的首字母进行排序了, 怎样才能将编码转化为GBK呢?在MySQL中提供了函数CONVERT() ,该函数可用来获取一个类型的值 该函数的使用方式为 CONVERT(字段 USING GBK) 例如: SELECT * FROM table ORDER BY CONVERT(field USING GBK) ASC 如果表字段使用的GBK编码的话,我们可以直接order by value ,因为GBK本身就是按照拼音字母排序ABCDEFGHIGK…,当第一位相同的时候会比较第二位,以此类推。 如果表字段使用的UTF-8编码的话,通常我们都会的编码,这样我们可以使用MySQL的convert方法开转换gbk进行排序。 SELECT * FROM TEST ORDER BY CONVERT(value USING GBK) ASC/DESC 来源: CSDN 作者: dxyzhbb 链接:

Eclipse修改编码格式

南笙酒味 提交于 2020-01-21 00:15:37
Eclipse的开发使用中,我们经常使用的是UTF-8,但是刚刚安装的或者是导入的项目是其他编码的默认是GBK的,这就造成我们的项目乱码,一些中文解析无法查看,对我们的开发造成不便. 工具/原料 Eclipse 修改工作空间默认编码 1 进入Eclipse,导入一个项目工程,如果项目文件的编码与你的工具编码不一致 将会造成乱码。如: 2 如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使 Java文件使用UTF-8编码。 修改默认编码 在菜单导航栏上Window-->Preferences 打开"首选项"对话框,左侧导航树,导航到 General-->Workspace 3 Windows 7平台默认为GBK,简体中文操作系统Windows XP、Windows 2000简体中文的缺省编码是GB18030,Linux平台默认为UTF-8 那么在此工作空间中建立的工程编码是GBK,工程中建立的java文件也是GBK。 可以看到默认的是GBK编码格式,我们修改为UTF-8编码格式或者是你需要的编码格式 点击Apply,点击OK. END 修改文件的编码 1 有的时候我们导入项目文件,并没有导入到我们的workspace,只是一个引用,这个时候如果有编码的问题,我们可以修改文件的编码查看. 在Eclipse项目文件上右键,选择Properties

谈谈Unicode编码

送分小仙女□ 提交于 2020-01-21 00:13:53
这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方式的呢? 我很早前就发现Unicode、Unicode big endian和UTF-8编码的txt文件的开头会多出几个字节,分别是FF、FE(Unicode),FE、FF(Unicode big endian),EF、BB、BF(UTF-8)。但这些标记是基于什么标准呢? 问题二: 最近在网上看到一个ConvertUTF.c,实现了UTF-32、UTF-16和UTF-8这三种编码方式的相互转换。对于Unicode(UCS2)、GBK、UTF-8这些编码方式,我原来就了解。但这个程序让我有些糊涂,想不起来UTF-16和UCS2有什么关系。 查了查相关资料,总算将这些问题弄清楚了,顺带也了解了一些Unicode的细节。写成一篇文章,送给有过类似疑问的朋友。本文在写作时尽量做到通俗易懂,但要求读者知道什么是字节,什么是十六进制。 0、big endian和little endian big endian和little

文件编码格式详解

旧巷老猫 提交于 2020-01-21 00:11:48
从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。 ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为: ASC码:  00110101 00110110 00110111 00111000      ↓     ↓    ↓    ↓ 十进制码: 5     6    7    8 共占用4个字节。ASCII码文件可在屏幕上按字符显示, 例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。 由于是按字符显示,因此能读懂文件内容。 二进制文件是按二进制的编码方式来存放文件的。 例如, 数5678的存储形式为: 00010110 00101110只占二个字节。二进制文件虽然也可在屏幕上显示,但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。 因此也把这种文件称作“流式文件”。 这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF

文件编码格式

早过忘川 提交于 2020-01-20 23:04:20
来源:http://www.cnblogs.com/joeblackzqq/archive/2011/04/11/2012005.html 从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。 ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为: ASC码:  00110101 00110110 00110111 00111000      ↓     ↓    ↓    ↓ 十进制码: 5     6    7    8 共占用4个字节。ASCII码文件可在屏幕上按字符显示, 例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。 由于是按字符显示,因此能读懂文件内容。 二进制文件是按二进制的编码方式来存放文件的。 例如, 数5678的存储形式为: 00010110 00101110只占二个字节。二进制文件虽然也可在屏幕上显示,但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。 因此也把这种文件称作“流式文件”。 UCS-2编码(16进制) UTF-8 字节流(二进制) 0000 - 007F 0xxxxxxx 0080 - 07FF 110xxxxx

文件编码格式

一个人想着一个人 提交于 2020-01-20 23:03:09
从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。 ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为: ASC码:  00110101 00110110 00110111 00111000      ↓     ↓    ↓    ↓ 十进制码: 5     6    7    8 共占用4个字节。ASCII码文件可在屏幕上按字符显示, 例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。 由于是按字符显示,因此能读懂文件内容。 二进制文件是按二进制的编码方式来存放文件的。 例如, 数5678的存储形式为: 00010110 00101110只占二个字节。二进制文件虽然也可在屏幕上显示,但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。 因此也把这种文件称作“流式文件”。 UCS-2编码(16进制) UTF-8 字节流(二进制) 0000 - 007F 0xxxxxxx 0080 - 07FF 110xxxxx 10xxxxxx 0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx 问题一: 使用Windows记事本的“另存为”

GB2312、GBK与UTF-8的区别

杀马特。学长 韩版系。学妹 提交于 2020-01-19 09:21:05
标题简单的说一下,为什么要用编码? 在计算机内,储存文本信息用ASC II码,每一个字符对应着唯一的ASCII码。最初计算机是由美国发明的,他们也用的是键盘和上面的字母,所以他们的字符ASCII好解决。但是我们中国 的就不同了, 每个汉字要对应唯一的ASCII码。这样,就出来了国家制定的字符编码标准:GB2312、GBK等 。其他国家,其他语言也有他们对应的编码标准。 GB 就是国标的意思, GB2312和GBK主要用于汉字的编码,而UTF-8是全世界通用的 。意思就是说,如果你的网页主要面对使用汉语的中国人的话,使用 GB2312和GBK非常好,文字储存体积要小,有一些优点。如果你的网页要面向世界的话,你再用GB2312和GBK作为网页编码的话,有些电脑上的浏 览器没有这种编码,你的网页汉字内容就会变成无法识别的乱码。 它们通常用在网页的meta标签内,例如:,表示这个页面使用的是GB2312编码。这个信息是给浏览器看的,浏览器会优先考虑使用从网页头部提取出来的编码信息对网页进行解码。当然, 我们也可以强制浏览器使用某种编码解释网页,这样我们就看到了传说中的乱码。 GB2312、GBK和UTF-8都是一种字符编码,除此之外,还有好多字符编码。只是对于我们中国人的网站来说,用这三种编码 比较多。 标题GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换: