utf8

ASCII,ANSI,UNICODE,UTF-8,UNICOD BIG Endian 等字符编码问题

时光总嘲笑我的痴心妄想 提交于 2020-03-25 10:00:20
3 月,跳不动了?>>> 字符集简史: 在所有字符集中,最知名可能要数被称为ASCII的7位字符集了。它是美国信息交换标准委员会(American Standards Committee for Information Interchange)的缩写, 为美国英语通信所设计。它由128个字符组成,包括大小写字母、数字0-9、标点符号、非打印字符(换行符、制表符等4个)以及控制字符(退格、响铃等) 组成。 但是,由于他是针对英语设计的,当处理带有音调标号(形如汉语的拼音)的欧洲文字时就会出现问题。因此,创建出了一些包括255个字符的由ASCII扩展 的字符集。其中有一种通常被成为IBM字符集,它把值为128-255之间的字符用于画图和画线,以及一些特殊的欧洲字符。另一种8位字符集是ISO 8859-1 Latin 1,也简称为ISO Latin-1。它把位于128-255之间的字符用于拉丁字母表中特殊语言字符的编码,也因此而得名。 欧洲语言不是地球上的唯一语言,因此亚洲和非洲语言并不能被8位字符集所支持。仅汉语(或pictograms)字母表就有80000以上个字符。但是把 汉语、日语和越南语的一些相似的字符结合起来,在不同的语言里,使不同的字符代表不同的字,这样只用2个字节就可以编码地球上几乎所有地区的文字。因此, 创建了UNICODE编码。它通过增加一个高字节对ISO Latin

Py西游攻关之Socket网络编程

十年热恋 提交于 2020-03-25 03:11:13
新闻 管理 Py西游攻关之Socket网络编程 知识预览 计算机网络 回到顶部 网络通信要素 : A:IP地址 (1) 用来标识网络上一台独立的主机 (2) IP地址 = 网络地址 + 主机地址(网络号:用于识别主机所在的网络/网段。主机号:用于识别该网络中的主机) (3) 特殊的IP地址: 127.0.0.1 (本地回环地址、保留地址,点分十进制) 可用于简单的测试网卡是否故障。表示本机。 B:端口号: (1) 用于标识进程的逻辑地址。不同的进程都有不同的端口标识。 (2) 端口: 要将数据发送到对方指定的应用程序上,为了标识这些应用程序,所以给这些网络应用程序都用数字进行标识。为了方便称呼这些数字,则将这些数字称为端口。(此端口是一个逻辑端口) C: 传输协议 : 通讯的规则。例如:TCP、UDP协议(好比两个人得用同一种语言进行交流) ①、UDP:User Datagram Protocol用户数据报协议 特点: 面向无连接:传输数据之前源端和目的端不需要建立连接。 每个数据报的大小都限制在64K(8个字节)以内。 面向报文的不可靠协议。(即:发送出去的数据不一定会接收得到) 传输速率快,效率高。 现实生活实例:邮局寄件、实时在线聊天、视频会议…等。 ②、TCP:Transmission Control Protocol传输控制协议 特点: 面向连接:传输数据之前需要建立连接

python编码问题(2)

谁都会走 提交于 2020-03-24 19:32:36
1 编码、解码   如同密码领域一样,从明文到密码是加密,从密码到明文是解密。在python中,(编码:unicode-->str;) 解码(str-->unicode). 既然是编码,那么就和密码领域一样,编码和解码自然涉及到编码/解码方案(对应加密或者解密算法),unicode相当于明文。在python中,编码函数是encode(),解码函数是decode()。需要注意的一点是,如果我们调用str.encode(),这里涉及到一个隐士的类型转化,会现将str转化成unicode,才能进行编码,这也是不太容易理解的地方。所以,str.encode()实际上就等价于str.decode(sys.defaultencoding).encode().而sys.defaultencoding一般是ascii,它是不能用来编码中文字符的。  字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。   decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码

python的编码问题

别来无恙 提交于 2020-03-24 09:35:58
最近在用python写一些辅助脚本,发现每次运行的时候都会出现无法解析的字符编码的问题 后来发现是因为在代码的头里面加了这么一行 #coding=utf-8 加了这么一行就会出现这个错误 SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xb4 in position 0: invalid start byte 这个错误的大概意思就是python在寻找UTF-8标致头的时候出现了错误 出现这个错误的原因是我们在文件头给python指定了编码为UTF-8,但是我们文件确是以GBK的方式存储的 所以只要把utf-8改成gbk就可以了,这样python就会认为这是一个gbk的编码文件,而不会想去查找UTF-8的头 题外话: 为了识别文件究竟是UTF-8还是ASCII,一般UTF-8都会在文件头部加入EF BB这个头,而GBK是没有头的,所以python发现没有这个头则会认为是错误的 之前在用QT的时候也遇到了这些问题 http://www.cnblogs.com/linyilong3/p/4868697.html 其实中文编码的问题已经存在很多年了,只是一直没人去解决,最近我开始碰到后,才开始着手解决这个问题,争取有空把原来的中文问题都解决掉 来源: https://www.cnblogs.com

MacOS中Mysql设置默认字符集

寵の児 提交于 2020-03-23 13:29:20
一、查看字符集 mysql> show variables like 'character%'; +--------------------------+-----------------------------------------------------------+ | Variable_name | Value | +--------------------------+-----------------------------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 二、为避免乱码,更改默认字符集全为UTF-8 /usr/local/mysql-5.7.19-macos10.12-x86_64/support-files 网上大部分文章都说在此目录中拷贝一个.cnf的文件到

Linux 文件编码大挪移

和自甴很熟 提交于 2020-03-23 11:15:52
3 月,跳不动了?>>> 你可能已经知道,计算机除了二进制数据,是不会理解和存储字符、数字或者任何人类能够理解的东西的。一个二进制位只有两种可能的值,也就是0或1,真或假,是或否。其它的任何事物,比如字符、数据和图片,必须要以二进制的形式来表现,以供计算机处理。 简单来说,字符编码是一种可以指示电脑来将原始的 0 和 1 解释成实际字符的方式,在这些字符编码中,字符都以一串数字来表示。 字符编码方案有很多种,比如 ASCII、ANCI、Unicode 等等。下面是 ASCII 编码的一个例子。 字符 二进制 A 01000001 B 01000010 在 Linux 中,命令行工具iconv用来将使用一种编码的文本转化为另一种编码。 你可以使用 file 命令,并添加-i或--mime参数来查看一个文件的字符编码,这个参数可以让程序像下面的例子一样输出字符串的 mime (Multipurpose Internet Mail Extensions) 数据: $ file -i Car.java $ file -i CarDriver.java 在 Linux 中查看文件的编码 iconv 工具的使用方法如下: $ iconv option $ iconv options -f from-encoding -t to-encoding inputfile(s) -o

Linux 文件编码大挪移

梦想的初衷 提交于 2020-03-23 11:13:32
3 月,跳不动了?>>> 在这篇教程中,我们将解释字符编码的含义,然后给出一些使用 命令 行工具将使用某种字符编码的文件转化为另一种编码的例子。最后,我们将一起看一看如何在 Linux 下将使用各种字符编码的文件转化为 UTF-8 编码。 你可能已经知道,计算机除了二进制数据,是不会理解和存储字符、数字或者任何人类能够理解的东西的。一个二进制位只有两种可能的值,也就是 0 或 1 , 真 或 假 , 是 或 否 。其它的任何事物,比如字符、数据和图片,必须要以二进制的形式来表现,以供计算机处理。 简单来说,字符编码是一种可以指示电脑来将原始的 0 和 1 解释成实际字符的方式,在这些字符编码中,字符都以一串数字来表示。 字符编码方案有很多种,比如 ASCII、ANCI、Unicode 等等。下面是 ASCII 编码的一个例子。 字符 二进制 A 01000001 B 01000010 在 Linux 中, 命令 行工具 iconv 用来将使用一种编码的文本转化为另一种编码。 你可以使用 file 命令,并添加 -i 或 --mime 参数来查看一个文件的字符编码,这个参数可以让程序像下面的例子一样输出字符串的 mime (Multipurpose Internet Mail Extensions) 数据: $ file -i Car.java $ file -i CarDriver

mysql数据库修改字符编码问题

走远了吗. 提交于 2020-03-23 02:51:45
遇到这种情况,现有项目的数据库已经建好,数据表也已经创建完成。 问题来的,数据库不能插入中文,调试时候发现中文数据从发送请求到最后请求处理完成这些步骤,中文还没有发生乱码。 只有在存储到数据库后查询数据并显示才会乱码。 那么到此可以确定是mysql出现问题了。 那么应该怎么办呢?哈哈,当然是看我们的度娘啦! 看的下度娘解决方法是: 将数据库的编码修改为utf8编码格式,因为安装mysql默认使用的字符编码latin1 what?这个编码是什么鬼,见都没见过。 查了下,Latin1是 ISO-8859-1 的别名。因为ISO-8859-1编码范围使用了单 字节 内的所有空间,在支持ISO-8859-1的系统中传输和存储其他任何编码的 字节流 都不会被抛弃 这个latin1编码是单字节编码,而一般汉字是需要两个字节存储,所以这个编码格式不支持汉字。 接下来就看怎么改吧 数据库字符优先级有:系统级、数据库级、表级、字段。这5个优先级中字段优先级最高。举个列子。我们要向表中存储中文数据。如果表的字符编码是utf8,而字段的字符编码是latin1。那么如果我们存储中文还是会出现乱码,因为使用的编码是字段的字符编码latin1 在数据库创建时如果不设置数据库的默认字符编码,即缺省时会使用系统的字符编码latin1。创建表缺省时使用数据库的字符编码,字段同理。 从上面可以得出一个重要结论

Python操作Mysql中文乱码问题

孤者浪人 提交于 2020-03-22 07:32:53
     Python操作MySQL需要安装Python-MySQL 可以从网上搜索一下,和一般的Python包一样安装 安装好之后,模块名字叫做MySQLdb ,在Window和Linux环境下都可以使用 用下面几个措施,保证MySQL的输出没有乱麻: 1 Python 文件设置编码 utf-8 (文件前面加上 #encoding=utf-8) 2 MySQL 数据库 charset=utf-8 3 Python 连接 MySQL 是加上参数 charset=utf8 4 设置 Python 的默认编码为 utf-8 (sys.setdefaultencoding(utf-8) #encoding=utf-8 import sys import MySQLdb reload(sys) sys.setdefaultencoding('utf-8') db=MySQLdb.connect(user='root',charset='utf8') cur=db.cursor() cur.execute('use mydb') cur.execute('select * from mytb limit 100') f=file("/home/user/work/tem.txt",'w') for i in cur.fetchall(): f.write(str(i)) f.write("

Mysql-01.安装和配置(重新整理)

故事扮演 提交于 2020-03-20 13:21:45
3 月,跳不动了?>>> Windows操作系统下安装和配置 一、Mysql安装 Window系统下Mysql安装文件分为msi和zip格式,其中msi格式可以直接点击安装,按照安装提示进行安装配置即可,zip格式的则需要解压,解压完毕后需要手工配置才可以正常运行。 二、Mysql配置 ZIP版本的Mysql下载到本地后,直接解压即安装完毕。如解压路径为D:\Program Files\MySql,则Msql的配置和启动路径就在D:\Program Files\MySql\bin目录下。 配置默认的环境变量:将D:\Program Files\MySql\bin加入系统的环境变量Path中; 1.修改mysql默认配制信息 将my-default.ini修改为my.ini,修改my.ini内容,添加如下信息 basedir=D:\Program Files\MySql //Mysql程序目录 datadir=D:\Program Files\MySql\data //数据库存放目录 port=3306 //端口号 [mysql] default-character-set=utf8 //默认字符集(和下面的不一样) [mysqld] character-set-server=utf8 //默认字符集(和上面的有区别) 2.安装mysql服务 用管理员身份启动命令行窗口