首页 文章 精选 留言 我的

精选列表

搜索[图数据库],共10000篇文章
优秀的个人博客,低调大师

Python:一图看懂Python2还是Python3的编码

无论是Python2还是Python3,都使用unicode作为内存编码,简称内码。保存在python解释器内存中的文本,输出到屏幕、编辑器,或者保存成文件的时候,都要将内码转换成utf8或者gbk等编码格式;同样,python解释器从输入设备接收文本,或者从文件读取文本的时候,都要将utf8或者gbk等编码转换成unicode编码格式。因此,无论是Python2还是Python3,想要在unicode、utf8、gbk等编码格式之间转换的话,下图是通用的: 我们之所以会产生困惑,是因为py2和Python3给这些编码格式指定了令人困惑的名字。Python2的字符串有两种类型:unicode类型和str类型。Python2的unicode类型就是unicode编码,Python2的str类型泛指除unicode编码之外的所有编码,包括ascii编码、utf8编码、gbk编码、cp936编码等。Python3的字符串也有两种类型:bytes类型和str类型。Python3的str类型就是unicode编码,Python3的bytes类型泛指除unicode编码之外的所有编码,包括ascii编码、utf8编码、gbk编码、cp936编码等。同样是str类型,在Python2和Python3中完全颠倒了!下图稍微补充了一点内容,更有助于理解编码问题。 接下来,我们实战演练一下。 s = 'abc天圆地方'type(s)len(s) 7 s 'abc天圆地方' print(s) abc天圆地方 s.encode('unicode-escape') b'abc\u5929\u5706\u5730\u65b9'不管是否在字符串前面加了u,只要不在字符串前面使用b,在IDLE中定义的字符串都是unicode编码,也就是py3的,其长度就是字符数量,不是字节数。我们把unicode字符串’abc天圆地方’转成utf8编码: s_utf8 = s.encode('utf8')type(s_utf8) len(s_utf8) 15 s_utf8 b'abc\xe5\xa4\xa9\xe5\x9c\x86\xe5\x9c\xb0\xe6\x96\xb9' print(s_utf8) b'abc\xe5\xa4\xa9\xe5\x9c\x86\xe5\x9c\xb0\xe6\x96\xb9' s_utf8.decode('utf8') 'abc天圆地方'utf8编码就是bytes类型(字节码),长度就是字节数量。我们把unicode字符串’abc天圆地方’转成gbk编码: s_gbk= s.encode('gbk')type(s_gbk) len(s_gbk) 11 s_gbk b'abc\xcc\xec\xd4\xb2\xb5\xd8\xb7\xbd' print(s_gbk) b'abc\xcc\xec\xd4\xb2\xb5\xd8\xb7\xbd' s_gbk.decode('s_gbk') 'abc天圆地方'gbk编码也是bytes类型(字节码),长度也是字节数量。我们再来看看,不同编码的字节码能否连接: ss = s_utf8 + s_gbkss b'abc\xe5\xa4\xa9\xe5\x9c\x86\xe5\x9c\xb0\xe6\x96\xb9abc\xcc\xec\xd4\xb2\xb5\xd8\xb7\xbd' ss.decode('utf8') Traceback (most recent call last): File "", line 1, in ss.decode('utf8')UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcc in position 18: invalid continuation byte ss.decode('gbk') 'abc澶╁渾鍦版柟abc天圆地方' ss.decode('utf8', 'ignore') 'abc天圆地方abcԲط' ss.decode('gbk', 'ignore') 'abc澶╁渾鍦版柟abc天圆地方'看以看出,不同编码的字节码可以连接,但一般不能解码成unicode(字符串),除非使用ignore参数。

优秀的个人博客,低调大师

一张图看懂大牛直播SDK的模块化组合

如上图所示,此Demo系大牛直播SDK的android平台SmartRelayDemoV2工程,此demo涵盖以下功能: 1. RTMP/RTSP直播播放(支持大牛直播播放SDK全部功能,如软、硬解码设置、实时静音、快照、view旋转、秒开等); 2. RTMP/RTSP流录制(支持音频转AAC后录制,支持只录制音频或视频,文件自动切分等); 3. RTMP/RTSP流转RTMP推送(行业内转发延迟最低,支持同时转发多路); 4. 内置RTSP网关(对外提供RTSP服务,可同时开启多个service,提供小规模并发访问); 好多开发者以为只是单个功能展示,实则不然,大牛直播SDK的灵活之处在于,以上4个功能模块,可以随意同时组合使用,亦或功能模块全开,资源占用,行业内最低,不服来比。 如:RTSP流播放的同时,转发到其他RTMP服务器,并同步开启录像功能,本地录像,并对外提供RTSP服务(作为拉流网关服务器)。 附4个模块功能列表: Windows/Android/iOS RTMP、RTSP直播播放器SDK 如不单独说明,系Windows、Android、iOS全平台支持。 [支持播放协议]高稳定、超低延迟(一秒内,行业内几无效果接近的播放端)、业内首屈一指的RTMP/RTSP直播播放器SDK; [多实例播放]支持多实例播放(如同时播放多路RTMP/RTSP流); [事件回调]支持网络状态、buffer状态等回调; [视频格式]支持RTSP H.265、RTMP扩展H.265,RTSP/RTMP H.264; [音频格式]RTMP/RTSP支持AAC/PCMA/PCMU,此外RTMP还支持Speex; [H.264/H.265软解码]支持H.264/H.265软解; [H.264硬解码]Android/iOS支持H.264硬解; [H.265硬解]Android支持H.265硬解; [H.264/H.265硬解码]Android支持设置Surface模式硬解和普通模式硬解码; [硬解码自适应]Android/iOS平台支持硬解码码自适应,如检测到硬解码不支持,自动切换到软解; [RTSP模式设置]支持RTSP TCP/UDP模式设置; [RTSP TCP/UDP自动切换]支持RTSP TCP、UDP模式自动切换; [RTSP超时设置]支持RTSP超时时间设置,单位:秒; [RTSP 401认证处理]支持上报RTSP 401事件,如URL携带鉴权信息,会自动处理; [缓冲时间设置]支持buffer time设置; [首屏秒开]支持首屏秒开模式; [低延迟模式]支持类似于线上娃娃机等直播方案的超低延迟模式设置(公网200~400ms); [复杂网络处理]支持断网重连等各种网络环境自动适配; [快速切换URL]支持播放过程中,快速切换其他URL,内容切换更快; [音视频多种render机制]Android平台,视频:surfaceview/OpenGL ES,音频:AudioTrack/OpenSL ES; [实时静音]支持播放过程中,实时静音/取消静音; [实时快照]支持播放过程中截取当前播放画面; [渲染角度]支持0°,90°,180°和270°四个视频画面渲染角度设置; [渲染镜像]支持水平反转、垂直反转模式设置; [实时下载速度更新]支持当前下载速度实时回调(支持设置回调时间间隔); [解码前视频数据回调]支持H.264/H.265数据回调; [解码后视频数据回调]支持解码后YUV/RGB数据回调; [解码前音频数据回调]支持AAC/PCMA/PCMU/SPEEX数据回调; [音视频自适应]支持播放过程中,音视频信息改变后自适应; [扩展录像功能]完美支持和录像SDK组合使用,录像相关功能,可参见"8. Windows/Android/iOS录像SDK"; [全屏]Windows平台双击画面进入全屏模式; [Windows本地FLV播放器]支持本地FLV文件播放(支持获取FLV文件的duration(时长);支持显示当前播放位置; [Windows本地FLV播放器]支持开始播放或播放过程中seek(跳转播放位置),也许是行业内seek最快的flv点播播放器)。 Windows/Android/iOS录像SDK [拉流]支持拉取RTSP流录像; [拉流]支持拉取RTMP流录像; [推流端录像]支持推送端同步录像; [逻辑分离]大牛直播录像SDK不同于普通录像接口,更智能,和推送、播放、转发、内置轻量级RTSP服务SDK功能完全分离,支持随时录像; [url切换]在录像过程中,支持切换不同URL,如两个URL配置一致,则可以录制到同一个MP4文件,如不一致,可自动分割到下一个文件; [参数设置]支持设置单个录像文件大小、录像路径等,并支持纯音频、纯视频、音视频录制模式; [音频转码]支持音频(PCMU/PCMA,Speex等)转AAC后再录像; [265支持]支持RTSP/RTMP H.265录制到MP4文件; [推送端265录像]Windows/Android推送端SDK支持H265录像; [事件回调]从开始录像,到录像结束均有event callback上来,网络堵塞、音视频同步均做了非常友好的处理。 Windows/Android/iOS RTMP/RTSP多路流媒体转RTMP推送SDK 如不单独说明,系Windows、Android、iOS全平台支持。 [拉流]支持拉取RTSP流; [拉流]支持拉取RTMP流; [预览]支持拉取到的RTMP/RTSP随时本地预览、关闭预览; [拉流音频调节]支持拉取的RTMP/RTSP流静音; [音频转码]支持拉取的RTMP/RTSP的PCMA/PCMU/SPEEX音频格式转AAC后再转发到RTMP服务器; [url切换]支持转发过程中,拉取的RTMP/RTSP或本地FLV文件实时内容切换; [转发]超低延迟转发拉取的rtsp/rtmp流到rtmp server; [H.265支持]业内首家支持RTSP/RTMP H.265转RTMP推送的SDK(提供配套RTMP扩展H.265服务器)。 Windows内网RTSP网关SDK 内网RTSP网关SDK,系内置轻量级RTSP服务SDK扩展,完成外部RTSP/RTMP数据拉取并注入到轻量级RTSP服务SDK工作,多个内网客户端直接访问内网轻量级RTSP服务获取公网数据,无需部署单独的服务器,支持RTSP/RTMP H.265数据接入。 简单来说:内置轻量级RTSP服务SDK和内置RTSP网关SDK的区别在于数据来源不同,内置轻量级RTSP服务SDK数据来源于终端设备自带摄像头数据/屏幕数据/外部编码前后数据,内置RTSP网关SDK的数据源是RTSP/RTMP流数据。 [音频格式]AAC; [视频格式]H.264、H.265; [接入协议]支持内外网RTMP/RTSP流接入; [输出协议]RTSP,拉取的RTSP/RTMP流,注入轻量级RTSP服务SDK; [音频转码]支持音频(PCMU/PCMA,Speex等)转AAC后注入; [端口设置]支持RTSP端口设置; [鉴权设置]支持RTSP鉴权用户名、密码设置; [获取session连接数]支持获取当前RTSP服务会话连接数; [多服务支持]支持同时创建多个内置RTSP服务; [H.265支持]Windows内置rtsp server支持发布H.265视频(64位库); [RTSP url回调]支持设置后的rtsp url通过event回调到上层。 更多资料,可查看https://github.com/daniulive/SmarterStreaming

优秀的个人博客,低调大师

小爬虫抓取今日头条街拍美女图

先实际感受一下我们要抓取的福利是什么?点击 今日头条,在搜索栏输入街拍 两个字,点开任意一篇文章,里面的图片即是我们要抓取的内容。 可以看到搜索结果默认返回了 20 篇文章,当页面滚动到底部时头条通过 ajax 加载更多文章,浏览器按下 F12 打开调试工具(我的是 Chrome),点击 Network 选项,尝试加载更多的文章,可以看到相关的 http 请求: 可以看到请求的 URL(Request URL)为:http://www.toutiao.com/search_content/, 其请求参数为: 很容易猜测 offset 表示偏移量,即已经请求的文章数;format 为返回格式,这里返回的是 json 格式的数据;keyword 是我们的搜索关键字;autoload 应该是自动加载的指示标志,无关紧要;count 为请求的新

优秀的个人博客,低调大师

3D酷炫立体图现已加入 pyecharts 豪华晚餐

1. datazoom 中增加了将组件效果显示在 y 坐标轴中的功能。 本来是这样的 现在还可以这样 2. 增加了对 Pandas 和 Numpy 数据的简单处理。解决直接传入 Pandas 和 Numpy 数据类型出错的问题。 如果使用的是 Numpy 或者 Pandas,直接将数据放入 add() 方法也可能会出现问题,因为 add() 方法接受的是两个 list 列表。最后所有的配置项都是要经过 JSON 序列化的,像 int64 这种类型的数据在这个过程是会报错的。 在这里提供了 pdcast(pddata) 和 npcast(npdata) 两个方法,用于这两个库数据类型的处理。 pdcast(),接受的参数可以为 Series 或者 DataFrame 类型。 @staticmethod pdcast(pddata)用于处理 Pan

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册