字符编码

[转帖]字符集 编码格式 字库

柔情痞子 提交于 2020-03-15 20:00:03
1 字符集 字符集(CHARACTER SET),或称字集,是指字符的集合;字符集种类较多,每个字符集包含的字符个数不同,常见的字符集名称:ASCII字符集、GB2312字符集、GB18030字符集、UNICODE字符集等。 1.1ASCII字符集 上 个世纪60年代,美国有关的标准化组织就出台了ASCII(AMERICAN STANDARD CODE FOR INFORMATION INTERCHANGE:美国信息交换标准码)编码,制定了一套字符编码,只能表示256个符号,主要用于显示现代英语和其他西欧语言。它是现今最通用的 单字节编码系统,并等同于国际标准ISO 10646。 1.2GB系列字符集(GB2312、GB13000、GBK、GB18030) GB2312 由原中国国家标准总局发布,共收录6763个简体汉字、682个符号,由于GB2312定义的字符集太小,容纳的汉字太少,在UNICODE出台之后,我 国立刻制定了完全兼容的GB13000标准,微软以技术上难以实现为理由,自己搞了一套扩展字符集,也就是GBK,在GB2312基础上定义了包括繁体字 在内的更多汉字,并在WINDOWS简体中文版中加以实施。到了二十世纪末,GBK字符集也不够用了,WINDOWS操作系统将内核改为支持 UNICODE字符集。UNICODE与GB系列字符集不兼容

关于json.dumps中的ensure_ascii

戏子无情 提交于 2020-03-15 13:16:15
在使用json.dumps时要注意一个问题 import json print json.dumps('中国') # 输出结果:"\u4e2d\u56fd" 输出的会是'中国' 中的ascii 字符码,而不是真正的中文。 这是因为json.dumps 序列化时对中文默认使用的ascii编码.想输出真正的中文需要指定ensure_ascii=False: import json print json.dumps('中国') # 输出结果:"\u4e2d\u56fd" print json.dumps('中国',ensure_ascii=False) # 输出结果:"中国" 转自: http://www.cnblogs.com/biangbiang/archive/2013/02/19/2916780.html 来源: https://www.cnblogs.com/nana-tech/p/5751167.html

MySQL字符集介绍及配置

陌路散爱 提交于 2020-03-14 18:40:53
目录 1.MySQL编码集 2.修改字符集 3.MySQL数据库中字符集转换流程 4.修改现有字符集 1.MySQL编码集 查看MySQL支持的字符集 mysql> show character set; 查看MySQL当前的字符集 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 | | character_sets_dir | /usr/share/mysql/charsets/ | +------

Encoding.GetEncoding 编码列表

半腔热情 提交于 2020-03-13 13:37:10
代码页 名称 显示名称 37 IBM037 IBM EBCDIC(美国 - 加拿大) 437 IBM437 OEM 美国 500 IBM500 IBM EBCDIC(国际) 708 ASMO-708 阿拉伯字符 (ASMO 708) 720 DOS-720 阿拉伯字符 (DOS) 737 ibm737 希腊字符 (DOS) 775 ibm775 波罗的海字符 (DOS) 850 ibm850 西欧字符 (DOS) 852 ibm852 中欧字符 (DOS) 855 IBM855 OEM 西里尔语 857 ibm857 土耳其字符 (DOS) 858 IBM00858 OEM 多语言拉丁语 I 860 IBM860 葡萄牙语 (DOS) 861 ibm861 冰岛语 (DOS) 862 DOS-862 希伯来字符 (DOS) 863 IBM863 加拿大法语 (DOS) 864 IBM864 阿拉伯字符 (864) 865 IBM865 北欧字符 (DOS) 866 cp866 西里尔字符 (DOS) 869 ibm869 现代希腊字符 (DOS) 870 IBM870 IBM EBCDIC(多语言拉丁语 2) 874 windows-874 泰语 (Windows) 875 cp875 IBM EBCDIC(现代希腊语) 932 shift_jis 日语 (Shift-JIS)

【2020Python修炼记13】Python语法入门—字符编码

夙愿已清 提交于 2020-03-12 19:06:12
一、知识储备 1、三大核心硬件——CPU,内存,硬盘 所有软件都是运行硬件之上的,与运行软件相关的三大核心硬件为cpu、内存、硬盘 #1、软件运行前,软件的代码及其相关数据都是存放于硬盘中的 #2、任何软件的启动都是将数据从硬盘中读入内存,然后cpu从内存中取出指令并执行 #3、软件运行过程中产生的数据最先都是存放于内存中的,若想永久保存软件产生的数据,则需要将数据由内存写入硬盘 2、文本编辑器读取文件内容的流程 #阶段1、启动一个文件编辑器(文本编辑器如nodepad++,pycharm,word) #阶段2、文件编辑器会将文件内容从硬盘读入内存 #阶段3、文本编辑器会将刚刚读入内存中的内容显示到屏幕上 3、Python解释器执行文件的流程 以python test.py为例,执行流程如下: #阶段1、启动python解释器,此时就相当于启动了一个文本编辑器 #阶段2、python解释器相当于文本编辑器,从硬盘上将test.py的内容读入到内存中 #阶段3、python解释器解释执行刚刚读入的内存的内容,开始识别python语法 4、总结—Python解释器&文本编辑器的异同 #1、相同点: 前两个阶段二者完全一致,都是将硬盘中文件的内容读入内存,详解如下 python解释器是解释执行文件内容的,因而python解释器具备读py文件的功能,这一点与文本编辑器一样 #2、不同点:

集合 字符编码

て烟熏妆下的殇ゞ 提交于 2020-03-12 13:45:08
一.集合 一)作用:集合 list tuple dict一样都可以存放多个值,但实际和主要用于:去重 关系运算 二)定义:在{}内用逗号分隔开多个元素,集合具备以下三个特点: 1:每个元素必须是不可变类型 2:集合内没有重复的元素 3:集合内元素无序 1 s = {1,2,3,4} # 本质 s = set({1,2,3,4}) # 注意1:列表类型是索引对应值,字典是key对应值,均可以取得单个指定的值,而集合类型既没有索引也没有key与值对应,所以无法取得单个的值,而且对于集合来说,主要用于去重与关系元素,根本没有取出单个指定值这种需求。 # 注意2:{}既可以用于定义dict,也可以用于定义集合,但是字典内的元素必须是key:value的格式,现在我们想定义一个空字典和空集合,该如何准确去定义两者? d = {} # 默认是空字典 s = set() # 这才是定义空集合 三)类型转换: 但凡能被for循环的遍历的数据类型(强调:遍历出的每一个值都必须为不可变类型)都可以传给set()转换成集合类型 1 >>> s = set([1,2,3,4]) 2 >>> s1 = set((1,2,3,4)) 3 >>> s2 = set({'name':'jason',}) 4 >>> s3 = set('egon') 5 >>> s,s1,s2,s3 6 {1, 2, 3, 4}

修改mysql中字符集

扶醉桌前 提交于 2020-03-12 12:46:00
在操作数据库中通常会遇到数据库编码问题 如gbk和utf8编码不一致等 这时候我们可以通过下面的方式查看字符集 mysql> show variables like ‘%character%’; ±-------------------------±--------------------------------------------------------+ | Variable_name | Value | ±-------------------------±--------------------------------------------------------+ | character_set_client | gbk | | character_set_connection | gbk | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | gbk | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.7\share

base64原理

谁说我不能喝 提交于 2020-03-12 11:32:51
一、 base64是什么? 按照 RFC2045 的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.) 使用的字符包括大小写字母各26个,加上10个数字,和加号“+”,斜杠“/”,一共64个字符,等号“=”用来作为后缀用途。 二、 base64的作用及用途 作用: 实现简单的数据加密,使用户一眼望去完全看不出真实数据内容,base64算法的复杂程度要小,效率要高相对较高。 某些系统或应用,只能使用ASCII字符,例如Email,需使用base64对数据进行编码。 用途: 在MIME中,base64可以用来将binary的字节序列数据编码成ASCII字符序列构成的文本。在Email的传送过程中,由于历史原因,Email只被允许传送ASCII字符,即一个8位字节的低7位(0-127)。因此,如果用户发送了一封带有非ASCII字符(即字节的最高位是1)的Email通过有“历史问题”的网关时就可能会出现问题。网关可能会把最高位置为0。这个时候,问题出现了

字符集和编码知识

試著忘記壹切 提交于 2020-03-11 17:42:10
字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集是多 个字符的集合,字符集种类较多,每个字符集包含的字符个数 不同 ,常见字符集名称:ASCII 字符集、ISO 8859字符集、GB2312字符集、BIG5字符集、 GB 18030字符集、Unicode字符集等 。计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种 文字。 编码(Encoding)和字符集不同。字符集只是字符的集合,不一定适 合作 网络传送、处理,有时 须经编码(Encode)后才能应用。如Unicode可依不同需要以UTF-8、UTF-16、UTF-32等 方法 编码 。 因此,对字符进行编码,是信息交流的技术基础。本文将按照字符集的时间顺序讨论几种典型 的字符集,选取几种代表性的字符集,研究历史由来、特点、技术特征。 ASCII 字符集 1.名称的由来 ASCII(American Standard Code for Information Interchange,美国信息互换 标准 代码) 是基于罗马字母表的一套电脑编码系统。 2.特点 它主要用于显示现代 英语 和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际 标准ISO 646。 3.包含内容 控制字符:回车键、退格、换行键等。 可显示字符:英文大小写字符、阿拉伯数字和西文符号 4

Tomcat8优化--JVM字节码

我是研究僧i 提交于 2020-03-10 19:52:50
JVM字节码   前面我们通过tomcat本身的参数以及jvm的参数对tomcat做了优化,其实要想将应用程 序跑的更快、效率更高,除了对tomcat容器以及jvm优化外,应用程序代码本身如果写 的效率不高的,那么也是不行的,所以,对于程序本身的优化也就很重要了。   对于程序本身的优化,可以借鉴很多前辈们的经验,但是有些时候,在从源码角度方面 分析的话,不好鉴别出哪个效率高,如对字符串拼接的操作,是直接“+”号拼接效率高还 是使用StringBuilder效率高?   这个时候,就需要通过查看编译好的class文件中字节码,就可以找到答案。   我们都知道,java编写应用,需要先通过javac命令编译成class文件,再通过jvm执行, jvm执行时是需要将class文件中的字节码载入到jvm进行运行的。 1、通过javap命令查看class文件的字节码内容 1.1 创建一个简单的测试类 public class Test1 { public static void main(String[] args) { int a = 2; int b = 5; int c = b-a; System.out.println(c); } } 执行成功target目录下便会生成class文件:    1.2 cmd 使用命令 javap -v Test1.class > Test1.txt