编码转换

python教程--读写中文文件

江枫思渺然 提交于 2020-01-01 08:42:25
字符串在Python内部的表示是 unicode 编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。 decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。 encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。 因此,转码的时候一定要先搞明白,字符串str是什么编码,然后decode成unicode,然后再encode成其他编码 Python在执行py文件时,默认不能解析中文字符,如果程序中需要使用中文,或者添加了中文注释。会直接报”SyntaxError: Non-ASCII character",语法失败。 在源代码第一行添加: # -*- coding: utf-8 -*- 用来指定文件编码为utf-8。在执行py就不会报错。 在Windows保存的文本文件都是ANSI编码格式,Python读出的中文字符串可以直接显示。 #coding:utf-8 import string import sys f =

Python语言编码问题详细解读。Unicode,assci,utf-8,gbk等编码

眉间皱痕 提交于 2020-01-01 08:42:12
一、系统默认的脚本文件编码 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 for details这样的异常信息;n.org/peps/pep-0263.html 命令查看脚本默认的编码方式 >>> import sys >>> sys.getdefaultencoding() 'ascii' >>> 2.2 python中的编码与解码   先说一下python中的字符串类型,在python中有两种字符串类型,分别是str和unicode,他们都是basestring的派生类;str类型是一个包含Characters represent (at least) 8-bit bytes的序列

Python中文问题研究

£可爱£侵袭症+ 提交于 2020-01-01 08:41:54
我曾经在 深入浅出java中文问题 系 列中研究过java的中文问题,现在中文问题已经不再羁绊我在java世界中漫游的脚步了。最近,对Python产生了浓厚的兴趣,谁知道跟中文问题这个 老朋友又一次不期而遇。看来,在代码世界中,中文问题会在很长一段时间里跟我们形影不离。这也难怪,谁让当初发明计算机的不是我们中国人呢,否则,现在全 世界的计算机都支持而且必须支持GBK,这样,写这样文章的人就不会是我了,而是大洋彼岸的一个金发碧眼的程序员,而且标题也相应改为 “studying the english problem in '大蟒' ”。。哈哈 YY而已,还是面对现实问题吧。相对java而言,中文问题在Python中的表现更为激烈。“激烈”的意思不是说更为严重或者说难于解决,只是 Python对于decode&encode错误的默认处理方式为strict,也就是直接报错,而java使用replace的方式来处理了,因此 java出现中文问题后会打印出很多"??"。此外,Python的默认的encoding是ASCII,而java的默认encoding跟操作系统的 encoding是一致的。在这一点上,我觉得java更为合理,这样对程序员更为友好,也减少了newbies 开始时的挫折感,是有利于语言的推广的。但是,Python也有它的道理

SaaS-图片上传

你离开我真会死。 提交于 2020-01-01 00:54:08
1 图片上传 1.1 需求分析 如图所示,实现员工照片上传功能 1.2 Data URL 1.2.1 DataURL概述 所谓DataURL是指"data"类型的Url格式,是在RFC2397中提出的,目的是对于一些“小”的数据,可以在网页中直接嵌入,而不是从外部文件载入。 1.2.2 Data URL入门 完整的DataURL语法:DataURL= data:mediatype;base64,<Base64编码的数据>。 mediatype:表述传递的数据的MIME类型(text/html,image/png,image/jpg) 简单的说,data类型的Url大致有下面几种形式。 data : , < 文本数据 > data : text / plain , < 文本数据 > data : text / html , < html代码 > data : text / html ; base64 , < base64编码的html代码 > data : text / css , < css代码 > data : text / css ; base64 , < base64编码的css代码 > data : text / javascript , < javascript代码 > data : text / javascript ; base64 , <

iOS 直播类APP开发流程分解:

北战南征 提交于 2019-12-31 00:39:05
1 . 音视频处理的一般流程: 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示 1、 数据采集: 摄像机及拾音器收集视频及音频数据,此时得到的为原始数据 涉及技术或协议: 摄像机:CCD、CMOS 拾音器:声电转换装置(咪头)、音频放大电路 2、 数据编码: 使用相关硬件或软件对音视频原始数据进行编码处理(数字化)及加工(如音视频混合、打包封装等),得到可用的音视频数据 涉及技术或协议: 编码方式:CBR、VBR 编码格式 视频:H.265、H.264、MPEG-4等,封装容器有TS、MKV、AVI、MP4等 音频:G.711μ、AAC、Opus等,封装有MP3、OGG、AAC等 3、 数据传输: 将编码完成后的音视频数据进行传输,早期的音视频通过同轴电缆之类的线缆进行传输,IP网络发展后,使用IP网络优传输 涉及技术或协议: 传输协议:RTP与RTCP、RTSP、RTMP、HTTP、HLS(HTTP Live Streaming)等 控制信令:SIP和SDP、SNMP等 4、 解码数据: 使用相关硬件或软件对接收到的编码后的音视频数据进行解码,得到可以直接显示的图像/声音 涉及技术或协议: 一般对应的编码器都会带有相应的解码器,也有一些第三方解码插件等 5、 播放显示: 在显示器(电视、监视屏等)或扬声器(耳机、喇叭等)里,显示相应的图像画面或声音

【转】python中文decode和encode转码

旧街凉风 提交于 2019-12-30 21:27:42
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。 decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。 encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。 因此,转码的时候一定要先搞明白,字符串str是什么编码,然后decode成unicode,然后再encode成其他编码 (与代码本身的编码是一致的!) 测试: 我的eclipse里面代码为utf-8编码的。然后我这样写代码 s="你好" s=s.decode('gb2312').encode('utf-8') print s 报错: UnicodeDecodeError: 'gb2312' codec can't decode bytes in position 2-3: illegal multibyte sequence 原因

php---JS中encodeURIComponent函数用php解码的代码

时间秒杀一切 提交于 2019-12-30 21:27:27
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> JS中encodeURIComponent函数给中文编码后,如何用php解码?? 前提:编码前的中文可能是gbk,gb2312,utf-8等。 urldecode() iconv() 在JS中使用了encodeURIComponent对中文进行编码在PHP中使用iconv('UTF-8','gb2312',$q);就可以得到你需要的字串了,其中gb2312根据你实际应用来定如还不明白为什么看下面的文章 URL编码转换,escape() encodeURI() encodeURIComponent() 本文介绍对url编码的三种函数 escape() ,encodeURI() ,encodeURIComponent() escape() 方法: 采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。unescape方法与此相反。不会被此方法编码的字符: @ * / + encodeURI() 方法: 把URI字符串采用UTF-8编码格式转化成escape格式的字符串。不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? +

原来编码就是这么简单

不问归期 提交于 2019-12-30 14:04:41
日期:2019年12月29日 作者:Commas 注释:编码这件小事,其实就是这么回事…… 文章目录 一、什么是编码? 二、计算机编码原来如此 三、字符编码和字符集不过如此 四、字符编码大爆炸 四、字符编码大一统 一、什么是编码? 编码 在我们生活中无处不在,暂且我们先不讨论 计算机编码 ,举几个生活中的例子: 身份证号码 :前两位代表省、自治区、直辖市,比如说“44…”,代表广东省,而“43…”,代表湖南省; 车牌号 :第一个汉字代表车户口所在省的简称,比如“粤…”,代表广东省; 电话区号 :前三位是电话区号,比如说“020-…”,代表广州,而“0760-…”,代表中山; 学号 :前四位代表学生的届数,比如说“2019…”,代表2019届学生; 摩斯密码 :用特殊符号代表想要表达的含义,比如说用“… — …”来代表“SOS”,向他人发送求救信号; 从以上的例子当中,我们不难发现, 编码的本质 就是,出于某种原因,用一种东西去表达另外一种东西,且这种表达的关系都是一一对应的,有点类似于字典,我们只需要对应着规则去找就可以得到我们想要的答案。同时也正是因为一一对应的关系是确定的,所以才不会说身份证号码前两位44即代表广东省,又代表湖南省,身份证44开头的人即是广东人,又是湖南人这样的乌龙,从而出现了所谓的 “乱码” 。 那么问题来了, 计算机编码 是怎么回事呢?其实也就那么回事

UNICODE,GBK,UTF-8区别

流过昼夜 提交于 2019-12-29 13:53:48
UNICODE,GBK,UTF-8区别 简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是一兼容的,同一个汉字,那三个码值是完全不一样的.如"汉"的uncode值与gbk就是不一样的,假设uncode为a040,gbk为b030,而uft-8码,就是把那个值表现的形式.utf-8码完全只针对uncode来组织的,如果GBK要转UTF-8必须先转uncode码,再转utf-8就OK了. 详细的就见下面转的这篇文章. 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词 这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打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)。但这些标记是基于什么标准呢? 问题二

打造自己的视频会议系统 GGMeeting(附送源码)

不羁的心 提交于 2019-12-29 04:40:37
自从在博客园发布 开源即时通信系统GG(QQ高仿版) 以来,结识了很多做IM的朋友,然后我和我的伙伴们也接到了很多与IM相关的项目。相比在发布GG之前难以接到项目的状况相比,现在简直太幸福了,虽然做项目很辛苦,但毕竟有钱赚,那辛苦也值了。  饮水思源,这里要感谢 博客园 提供了这么好的一个平台,让我们能展现自己的实力,提升我们的知名度,然后才能接到了更多项目。所以,我强烈建议那些希望接项目、接私单的朋友,都来博客园写博客吧,写出自己的知名度后,真是好处多多! 言归正传,前段时间做了个在线教育培训的项目,与视频会议比较类似,所以了,我打算像GGTalk开源即时通讯系统一样,搞一个开源视频会议系统并把实现的原理和源码都分享出来,让有兴趣的朋友可以参考下。继承GG的名称,我把这个开源视频会议系统命名为GGMeeting,目前版本为1.0,后续功能会不断增强。   一般而言,视频会议的主要核心功能是:多人语音聊天、多人视频聊天、公共电子白板、会议房间管理。本文我们将介绍视频会议系统的主要功能及其实现原理,后面有空在介绍详细每个功能的详细实现细节。 想要直接下载体验的朋友请点击: “源码下载中心” 一.语音通话 1.基础模型 在视频会议中,网络语音通话通常多对多的的,但就模型层面来说,我们讨论一个方向的通道就可以了。一方说话,另一方则听到声音。看似简单而迅捷,但是其背后的流程却是相当复杂的