字符编码

Python Unicode与中文处理

感情迁移 提交于 2020-03-19 12:35:22
转自:http://blog.csdn.net/dao123mao/article/details/5396497 python中的unicode是让人很困惑、比较难以理解的问题,本文力求彻底解决这些问题; 1.unicode、gbk、gb2312、utf-8的关系; http://www.pythonclub.org/python-basic/encode-detail 这篇文章写的比较好,utf-8是unicode的一种实现方式,unicode、gbk、gb2312是编码字符集; 2.python中的中文编码问题; 2.1 .py文件中的编码 Python 默认脚本文件都是 ANSCII 编码的,当文件 中有非 ANSCII 编码范围内的字符的时候就要使用"编码指示"来修正。 一个module的定义中,如果.py文件中包含中文字符(严格的说是含有非anscii字符),则需要在第一行或第二行指定编码声明: # -*- coding=utf-8 -*-或者 #coding=utf-8 其他的编码如:gbk、gb2312也可以; 否则会出现类似:SyntaxError: Non-ASCII character '/xe4' in file ChineseTest.py on line 1, but no encoding declared; see http://www.pytho

Python二三事 - 接触Python(x,y)

余生颓废 提交于 2020-03-18 11:52:27
注释:本文原来转自博客大巴的一篇文章,向原作者致谢!我也做了相应的修改,更加完善对于Pythonx,y的介绍 Python 二三事   面向初学者介绍Python相关的一些工具,以及可能遇到的常见问题。 更新1st 2011.1.15 更新2nd 2012.3.4 引言 在这里我假设你已经看完了一篇Python教程,基本熟悉了Python的结构和语法,在命令行下的Python互动环境中尝试过大部分Python的语句,觉得Python是个不错的语言准备继续下去。那么本篇文章会就Python实际运用中相关工具的选择,包括IDE,调试套件,第三方库管理工具这些进行介绍。另外还会对某些中文环境下容易遇到的问题,例如unicode编码解码的问题进行说明。本文主要是针对 Windows 环境下的 Python 开发进行说明。文章的目的是为了分享些我觉得很有用的经验和例子,若发现文中有疏漏之处请务必联系我。谢谢。 Python 语言介绍 Python 是一个近些年在开始流行起来的计算机编程语言。根据 Python官网 上的简介,Python主要特性包括跨平台,免费,简单且容易维护。就我个人理解来说,Python是一门适合大部分人的语言,因为各种类型的第三方库都有,所以像简单桌面程序,动态网站开发,图像处理,表格处理,甚至自动发帖机这些小应用在简单的学习后

TypeError: a bytes-like object is required, not 'str'--引申出bytes和str类型详细说明

て烟熏妆下的殇ゞ 提交于 2020-03-17 22:55:04
####本篇文章摘录了Chown-Jane-Y 和 singularity的文章#### TypeError: a bytes-like object is required, not 'str' 问题分析 该问题主要是由于当前操作的字符串是bytes类型的字符串对象,并对该bytes类型的字符串对象进行按照str类型的操作。 如下面图所示,s 为bytes类型字符串对象。 当对s进行按照str类型的操作(split)时,会弹出一下错误提示。因为split函数传入的参数是str类型的字符串,而党鞭的s为bytes编码类型的字符串对象 解决方法 此时的解决办法是,将s转码成为str类型的或者是将对s进行str类型操作转化为对bytes类型的操作。 方法1:bytes-->str 方法2:对s进行str类型操作转化为对bytes类型的操作 由于split里面用到分解字符串中的是空格‘ ’,但是该‘ ’是按照str编码的,需要转化成为bytes类型的,然后再直接对s进行对bytes类型的操作。 str和bytes类型之间的常用转码方式: 1、str to bytes:(3种方式) 2、bytes to str (3种方式) Python3中的bytes和str类型 Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分。文本总是 Unicode ,由 str 类型表示

javaweb学习总结(七)——HttpServletResponse对象(一)(转)

吃可爱长大的小学妹 提交于 2020-03-17 05:57:01
javaweb学习总结(七)——HttpServletResponse对象(一)(转) (每天都会更新至少一篇以上,有兴趣的可以关注)转载自 孤傲苍狼 Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。 request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。要向客户机输出数据,只需要找response对象就行了。 一、HttpServletResponse对象介绍      HttpServletResponse对象代表服务器的响应。这个对象中封装了向客户端发送数据、发送响应头,发送响应状态码的方法。查看HttpServletResponse的API,可以看到这些相关的方法。 1.1、负责向客户端(浏览器)发送数据的相关方法    1.2、负责向客户端(浏览器)发送响应头的相关方法       1.3、负责向客户端(浏览器)发送响应状态码的相关方法    1.4、响应状态码的常量   HttpServletResponse定义了很多状态码的常量(具体可以查看Servlet的API),当需要向客户端发送响应状态码时,可以使用这些常量,避免了直接写数字,常见的状态码对应的常量:   状态码404对应的常量     

HttpServletResponse对象介绍

可紊 提交于 2020-03-17 05:31:36
一、HttpServletResponse对象介绍      HttpServletResponse对象代表服务器的响应。这个对象中封装了向客户端发送数据、发送响应头,发送响应状态码的方法。查看HttpServletResponse的API,可以看到这些相关的方法。 1.1、负责向客户端(浏览器)发送数据的相关方法    1.2、负责向客户端(浏览器)发送响应头的相关方法       1.3、负责向客户端(浏览器)发送响应状态码的相关方法    1.4、响应状态码的常量   HttpServletResponse定义了很多状态码的常量(具体可以查看Servlet的API),当需要向客户端发送响应状态码时,可以使用这些常量,避免了直接写数字,常见的状态码对应的常量:   状态码404对应的常量      状态码200对应的常量      状态码500对应的常量    二、HttpServletResponse对象常见应用 2.1、使用OutputStream流向客户端浏览器输出中文数据 使用OutputStream流输出中文注意问题:   在服务器端,数据是以哪个码表输出的,那么就要控制客户端浏览器以相应的码表打开,比如:outputStream.write("中国".getBytes("UTF-8"));使用OutputStream流向客户端浏览器输出中文,以UTF

JavaWeb---总结(七)HttpServletResponse对象(一)

给你一囗甜甜゛ 提交于 2020-03-17 05:30:04
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。 request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。要向客户机输出数据,只需要找response对象就行了。 一、HttpServletResponse对象介绍      HttpServletResponse对象代表服务器的响应。这个对象中封装了向客户端发送数据、发送响应头,发送响应状态码的方法。查看HttpServletResponse的API,可以看到这些相关的方法。 1.1、负责向客户端(浏览器)发送数据的相关方法    1.2、负责向客户端(浏览器)发送响应头的相关方法       1.3、负责向客户端(浏览器)发送响应状态码的相关方法    1.4、响应状态码的常量   HttpServletResponse定义了很多状态码的常量(具体可以查看Servlet的API),当需要向客户端发送响应状态码时,可以使用这些常量,避免了直接写数字,常见的状态码对应的常量:   状态码404对应的常量      状态码200对应的常量      状态码500对应的常量    二、HttpServletResponse对象常见应用 2.1

Java Web学习总结(4)——HttpServletResponse对象入门

假装没事ソ 提交于 2020-03-17 04:54:38
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。 request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。要向客户机输出数据,只需要找response对象就行了。 一、HttpServletResponse对象介绍      HttpServletResponse对象代表服务器的响应。这个对象中封装了向客户端发送数据、发送响应头,发送响应状态码的方法。查看HttpServletResponse的API,可以看到这些相关的方法。 1.1、负责向客户端(浏览器)发送数据的相关方法    1.2、负责向客户端(浏览器)发送响应头的相关方法       1.3、负责向客户端(浏览器)发送响应状态码的相关方法    1.4、响应状态码的常量   HttpServletResponse定义了很多状态码的常量(具体可以查看Servlet的API),当需要向客户端发送响应状态码时,可以使用这些常量,避免了直接写数字,常见的状态码对应的常量:   状态码404对应的常量      状态码200对应的常量      状态码500对应的常量    二、HttpServletResponse对象常见应用 2.1

python编码(二)

泄露秘密 提交于 2020-03-16 23:10:12
谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词 问题一 使用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 endian是CPU处理多字节数的不同方式。例如“汉”字的Unicode编码是6C49。那么写到文件里时

修改mysql默认字符编码为utf8

不想你离开。 提交于 2020-03-16 15:11:24
某厂面试归来,发现自己落伍了!>>> MySQL的默认编码是Latin1,不支持中文,要支持中文需要把数据库的默认编码修改为gbk或者utf8。 1、修改数据库字符编码 mysql> alter database mydb character set utf8 ; 2、创建数据库时,指定数据库的字符编码 mysql> create database mydb character set utf8 ; 3、查看mysql数据库的字符编码 mysql> show variables like 'character%'; //查询当前mysql数据库的所有属性的字符编码 +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results |

mysql 字符编码修改

≡放荡痞女 提交于 2020-03-16 14:56:59
某厂面试归来,发现自己落伍了!>>> 我们常用的mysql 编码都是utf8,需要修改的时候其实很简单:在/etc/my.cnf.d/ 目录下自己创建一个文件*.cnf ,编辑如下内容就可以: [mysqld] character-set-server = utf8mb4 character-set-client = utf8mb4 [client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 重启mysql ,重看编码格式 MariaDB [cmp_microservice]> show variables like '%char%'; +--------------------------+--------------------------------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | |