编码转换

python2编码的问题

我的梦境 提交于 2019-12-19 01:55:57
1,python2的默认编码是ascii码。 2,python2中有2中数据模型来支持字符串这种数据类型,分别为str和unicode。 3,uncode转换为其他编码是encode,其他编码转换成unicode是decode(解码)。所以unicode是核心,比如你现在有个gbk的字符串,如果想要变成utf-8,那你需要先decode然后在encode才行。 4,文件开头声明的编码与定义str是有关系的。str有utf-8 gbk gb2312 ascaii等。 比如: #!/usr/bin/env python # *-*coding:utf-8 *-* s = '中国' print(type(s)) 结果:<type 'str'>   可以发现s是一个字符串,但其实它的编码也是utf-8,因为开头的声明变量就是utf-8。 #!/usr/bin/env python # *-*coding:utf-8 *-* s = '中国' print(type(s)) data = s.decode('utf-8') print(data) print(type(data)) 结果: <type 'str'> 中国 <type 'unicode'>  可以发现s.decode(‘utf-8’)就将s解码为unicode,这个时候data就可以编码为其他的格式了。 比如: #!/usr

BASE64编码

荒凉一梦 提交于 2019-12-18 19:49:27
参考 如何用通俗易懂的语言解释base64? Base64编码原理与应用 base64 前世今生 为什么要使用base64编码,有哪些情景需求? 早期的计算机天才们,为了表示他们国家的语言,26个英文字符,数字,还有一些特殊符号,发明了ASCII编码,如果直译英文,则是:为了信息交换而制定的一套美国标准编码。注意里面的“交换”二字。当ASCII编码问世之后,使用英文的国家爽了,往计算机里面写入信息,就是写自己国家的语言。但随着计算机的普及,其他国家也开始使用计算机,可是,有很多国家不使用英文,比如:中国、俄国、日本、韩国等,ASCII编码显然不能满足。 那怎么办?Unicode、GBK、GB2132等编码出现了。麻烦是不是又来了? 是的。 随着计算机网络的发明,到网络的普及,各国的计算机系统需要交流,此时各个计算机系统可能使用的是不同编码,那如何解决这个问题呢?在计算机里面,有一个通用的解决问题的方法:加一个中间层,Base64就是一个中间层。当我们通过网络传输中文的时候,先用Base64编码,传输到特定终端之后,再用Base64解码,这样就解决了可能出现的乱码问题。 一、BASE64算法原理 Base64编码之所以称为Base64,是因为其使用64个字符来对任意数据进行编码,同理有Base32、Base16编码。标准Base64编码使用的64个字符为: image.png

06-1 字符编码

大兔子大兔子 提交于 2019-12-18 14:56:26
文章目录 一 引入 二 知识储备 三、字符编码介绍 3.1 什么是字符编码? 3.2 字符编码表的发展史 (了解) 3.3 编码与解码 4.1 文本编辑器nodpad++存取文本文件 一 引入 ​ 字符串类型、文本文件的内容都是由字符组成的,但凡涉及到字符的存取,都需要考虑字符编码的问题。 ​ 字符编码这个知识点的典型特征就是理论多、结论少,但对于开发而言只需要记住结论即可,下面让我们来一点点介绍它 二 知识储备 ##2.1 三大核心硬件 所有软件都是运行硬件之上的,与运行软件相关的三大核心硬件为cpu、内存、硬盘,我们需要明确三点 #1、软件运行前,软件的代码及其相关数据都是存放于硬盘中的 #2、任何软件的启动都是将数据从硬盘中读入内存,然后cpu从内存中取出指令并执行 #3、软件运行过程中产生的数据最先都是存放于内存中的,若想永久保存软件产生的数据,则需要将数据由内存写入硬盘 插图:计算机三大核心硬件 ##2.2 文本编辑器读取文件内容的流程 #阶段1、启动一个文件编辑器(文本编辑器如nodepad++,pycharm,word) #阶段2、文件编辑器会将文件内容从硬盘读入内存 #阶段3、文本编辑器会将刚刚读入内存中的内容显示到屏幕上 ##2.3 python解释器执行文件的流程 以python test.py为例,执行流程如下 #阶段1、启动python解释器

Eclipse文件编码设置的问题

核能气质少年 提交于 2019-12-18 12:06:39
Eclipse中设置编码的方式 如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出, 则最好使 Java文件使用UTF-8编码。然而,Eclipse工作空间(workspace)的缺 省字符编码是操作系统缺省的编码,简体中文操作系统 (Windows XP、Windows 2000简体中文)的缺省编码是GB18030,在此工作空间中 建立的工程编码是GB18030,工程中建立的java文件也是GB18030。如果要使新建立工程 、java文件直接使UTF-8则需要做以下工作: 1、windows->Preferences...打开"首选项"对话框,左侧导航树, 导航到general->Workspace,右侧Text file encoding,选择Other, 改变为UTF-8,以后新建立工程其属性对话框中的Text file encoding即为UTF-8。 2、 windows->Preferences...打开"首选项"对话框,左侧导航树, 导航到general->Content Types,右侧Context Types树,点开Text, 选择Java Source File,在下面的Default encoding输入框中输入UTF-8,点Update, 则设置Java文件编码为UTF-8。其他java应用开发相关的文件如:properties

字符编码(ASCII、UNICODE、UTF-8)

自闭症网瘾萝莉.ら 提交于 2019-12-18 11:23:11
转自: 字符串和编码 - 廖雪峰的官方网站 https://www.liaoxuefeng.com/wiki/1016959663602400/1017075323632896 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是 65535 ,4个字节可以表示的最大整数是 4294967295 。 由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为 ASCII 编码,比如大写字母 A 的编码是 65 ,小写字母 z 的编码是 122 。 但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了 GB2312 编码,用来把中文编进去。 你可以想得到的是,全世界有上百种语言,日本把日文编到 Shift_JIS 里,韩国把韩文编到 Euc-kr 里,各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。 因此,Unicode应运而生。Unicode把所有语言都统一到一套编码里

初学者对ASCII编码、Unicode编码、UTF-8编码的理解

不打扰是莪最后的温柔 提交于 2019-12-18 09:49:25
最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是 255(二进制 11111111=十进制 255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是 65535,4个字节可以表示的最大整数是4294967295。 最早只有 127个字母被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为 ASCII 编码,比如大写字母 A 的编码是65,小写字母 z 的编码是 122。没有其他的语言编码。 Unicode编码就是把所有语言都统一到一套编码里,这样在遇到同的语言时就不会再有乱码问题了。 Unicode 标准也在不断发展,但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持 Unicode 。 ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节。 UTF-8编码是一种“可变长编码”,它把一个Unicode 字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间。 下面总结一下现在计算机系统通用的字符编码工作方式:

变分自动编码器(VAE)

做~自己de王妃 提交于 2019-12-18 06:12:33
VAE(Variational Autoencoder)的原理 Kingma, Diederik P., and Max Welling. "Auto-encoding variational bayes." arXiv preprint arXiv:1312.6114 (2013). 论文的理论推导见:https://zhuanlan.zhihu.com/p/25401928 中文翻译为:变分自动编码器 转自:http://kvfrans.com/variational-autoencoders-explained/ 下面是VAE的直观解释,不需要太多的数学知识。 什么是变分自动编码器? 为了理解VAE,我们首先从最简单的网络说起,然后再一步一步添加额外的部分。 一个描述神经网络的常见方法是近似一些我们想建模的函数。然而神经网络也可以被看做是携带信息的数据结构。 假如我们有一个带有解卷积层的网络,我们设置输入为值全为1的向量,输出为一张图像。然后,我们可以训练这个网络去减小重构图像和原始图像的平均平方误差。那么训练完后,这个图像的信息就被保留在了网络的参数中。 现在,我们尝试使用更多的图片。这次我们用one-hot向量而不是全1向量。我们用[1, 0, 0, 0]代表猫,用[0, 1, 0, 0]代表狗。虽然这要没什么问题,但是我们最多只能储存4张图片。当然

linux字体,bashrc的问题的解决

非 Y 不嫁゛ 提交于 2019-12-18 02:32:12
0、查看文件 :set ff #查看文件类型 这里是fileformat=unix :set ff=dos 设置为dos模式, 也可以用 sed -i 's/$/\r/' :set ff=unix 设置为unix模式,也可以用一下方式转换为unix模式:sed -i 's/.$//g' :set fileencoding #查看现在文本的编码 :set fenc=编码 #转换当前文本的编码为指定的编码 :set enc=编码 #以指定的编码显示文本,但不保存到文件中。 1、打开vim,查看文件的编码方式 :set fileencoding 2、因为不知道什么原因,~/.bashrc中编码方式发生了变化 中文字符都乱掉了 查看编码方式,发现不知道为什么变成了latin1 后来网上查到:vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照 fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。 1)encoding encoding是Vim内部使用的字符编码方式。当我们设置了encoding之后。Vim内部全部的buffer、寄存器、脚本中的字符串等,全都使用这个编码。Vim 在工作的时候。假设编码方式与它的内部编码不一致,它会先把编码转换成内部编码。假设工作用的编码中含有无法转换为内部编码的字符

escape()、encodeURI()、encodeURIComponent()区别详解

风流意气都作罢 提交于 2019-12-18 00:12:41
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 。 下面简单介绍一下它们的区别 1 escape()函数 定义和用法 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。 语法 escape(string) 参数 描述 string 必需。要被转义或编码的字符串。 返回值 已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。 说明 该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。其他所有的字符都会被转义序列替换。 2 encodeURI()函数 定义和用法 encodeURI() 函数可把字符串作为 URI 进行编码。 语法 encodeURI(URIstring) 参数 描述 URIstring 必需。一个字符串,含有 URI 或其他要编码的文本。 返回值 URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。 说明 该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

SQL数据类型

被刻印的时光 ゝ 提交于 2019-12-17 12:25:59
数据类型 类型 描 述 bit 整型 bit 数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或Fa lse 、On 或Off int 整型 int 数据类型可以存储从- 2 31 (-2147483648)到2 31 (2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节 smallint 整型 smallint 数据类型可以存储从- 2 15 (-32768)到2 15 (32767)之间的整数。这种数据类型对存储一些常限定在特定范围内的数值型数据非常有用。这种数据类型在数据库里占用2 字节空间 tinyint 整型 tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。 这种数据类型在数据库中占用1 个字节 numeric 精确数值型 numeric数据类型与decimal 型相同 decimal 精确数值型 decimal 数据类型能用来存储从-10 38 -1到10 38 -1的固定精度和范围的数值型数据。使用这种数据类型时,必须指定范围和精度。 范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数 money 货币型 money 数据类型用来表示钱和货币值