转码

javascript 使用btoa和atob来进行Base64转码和解码

こ雲淡風輕ζ 提交于 2019-12-29 09:07:12
老是记不住这两个函数,干脆写下来,比较好翻。 avascript原生的api本来就支持,Base64,但是由于之前的javascript局限性,导致Base64基本中看不中用。当前html5标准正式化之际,Base64将有较大的转型空间,对于Html5 Api中出现的如FileReader Api, 拖拽上传,甚至是Canvas,Video截图都可以实现。 好了,前言说了一大堆,开发者需要重视: 一.我们来看看,在javascript中如何使用Base64转码 var str = 'javascript'; window.btoa(str) //转码结果 "amF2YXNjcmlwdA==" window.atob("amF2YXNjcmlwdA==") //解码结果 "javascript" 二.对于转码来说,Base64转码的对象只能是字符串,因此来说,对于其他数据还有这一定的局限性,在此特别需要注意的是对Unicode转码。 var str = "China,中国" window.btoa(str) Uncaught DOMException: Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range. 很明显

图解TCPIP-OSI7层网络模型

假装没事ソ 提交于 2019-12-23 02:13:35
OSI(Open System Interconnect) 应用层: HTTP 表示层: 转换应用处理信息和网络传输信息. 网络传入对比特流解释不同,所以一般使用base64转码 会话层: 建立和断开通信连接 socket的listen(),accept(),connect() 传输层: TCP/UDP协议 网络层: IP地址协议 数据链路层: 将0/1序列划分为有意义的数据帧,传送 物理层 1.计算机以二进制0/1表示信息 2.传输媒介用电压的高低/光闪灭/电波的强弱表示 3.物理层就是将二者进行转换 参考: <图解TCP IP> 来源: CSDN 作者: Claroja 链接: https://blog.csdn.net/claroja/article/details/103508488

base64转码(JS)

夙愿已清 提交于 2019-12-21 17:14:03
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> base64是一种将二进制数据转为可打印字符的编码方法。在浏览器环境中,JavaScript原生提供两个方法,用来处理Base64转码:btoa方法将字符串或二进制值转化为Base64编码,atob方法将Base64编码转化为原来的编码。 window.btoa("Hello World") // "SGVsbG8gV29ybGQ=" window.atob("SGVsbG8gV29ybGQ=") // "Hello World" 这两个方法不适合非ASCII码的字符,浏览器会报错。 window.btoa('你好') // InvalidCharacterError: An invalid or illegal character was specified, such as in an XML name. 要将非ASCII码字符转为Base64编码,必须中间插入一个浏览器转码的环节,再使用这两个方法。 function b64Encode( str ) { return window.btoa(unescape(encodeURIComponent( str ))); } function b64Decode( str ) { return decodeURIComponent(escape(window

C# URL编码转换 URL转码 UrlDecode UrlEncode

时光毁灭记忆、已成空白 提交于 2019-12-21 01:15:57
using System.Web; 引用system.web。   textBox2.Text = System.Web.HttpUtility.UrlDecode(textBox1.Text, System.Text.Encoding.GetEncoding("GB2312"));//将Url中的编码转换为简体汉字   textBox2.Text = System.Web.HttpUtility.UrlEncode(textBox1.Text, System.Text.Encoding.GetEncoding("GB2312"));//将简体汉字转换为Url编码   textBox2.Text = System.Web.HttpUtility.UrlDecode(textBox1.Text, System.Text.Encoding.GetEncoding("BIG5"));//将Url中的编码转换为繁体汉字   textBox2.Text = System.Web.HttpUtility.UrlEncode(textBox1.Text, System.Text.Encoding.GetEncoding("BIG5"));//将繁体汉字转换为Url 来源: https://www.cnblogs.com/q4002945/p/5934217.html

轻松构建基于 Serverless 架构的弹性高可用音视频处理系统

百般思念 提交于 2019-12-18 11:55:01
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 前言 随着计算机技术和 Internet 的日新月异,视频点播技术因其良好的人机交互性和流媒体传输技术倍受教育、娱乐等行业青睐,而在当前, 云计算平台厂商的产品线不断成熟完善, 如果想要搭建视频点播类应用,告别刀耕火种, 直接上云会扫清硬件采购、 技术等各种障碍,以阿里云为例: 这是一个非常典型的解决方案, 对象存储 OSS 可以支持海量视频存储,采集上传的视频被转码以适配各种终端,CDN 加速终端设备播放视频的速度。此外还有一些 内容安全 审查需求, 比如鉴黄、鉴恐等。 而在视频点播解决方案中,视频转码是最消耗计算力的一个子系统,虽然您可以使用云上专门的转码服务,但在很多情况下,您会选择自己搭建转码服务。比如: 您已经在虚拟机/容器平台上基于 FFmpeg 部署了一套视频处理服务,能否在此基础上让它更弹性,更高的可用性? 您的需求只是简单的转码需求,或是一些极其轻量的需求,比如获取 OSS 上视频前几帧的 GIF、获取视频或者音频的时长,自己搭建成本更低。 各种格式的音频转换或者各种采样率自定义、音频降噪等功能 您有更高级的自定义处理需求,比如视频转码完成后, 需要记录转码详情到数据库, 或者在转码完成后, 自动将热度很高的视频预热到 CDN 上, 从而缓解源站压力。 您有并发处理大量视频的需求。

轻松构建基于 Serverless 架构的弹性高可用音视频处理系统

元气小坏坏 提交于 2019-12-17 16:21:55
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 前言 随着计算机技术和 Internet 的日新月异,视频点播技术因其良好的人机交互性和流媒体传输技术倍受教育、娱乐等行业青睐,而在当前, 云计算平台厂商的产品线不断成熟完善, 如果想要搭建视频点播类应用,告别刀耕火种, 直接上云会扫清硬件采购、 技术等各种障碍,以阿里云为例: 这是一个非常典型的解决方案, 对象存储 OSS 可以支持海量视频存储,采集上传的视频被转码以适配各种终端,CDN 加速终端设备播放视频的速度。此外还有一些 内容安全 审查需求, 比如鉴黄、鉴恐等。 而在视频点播解决方案中,视频转码是最消耗计算力的一个子系统,虽然您可以使用云上专门的转码服务,但在很多情况下,您会选择自己搭建转码服务。比如: 您已经在虚拟机/容器平台上基于 FFmpeg 部署了一套视频处理服务,能否在此基础上让它更弹性,更高的可用性? 您的需求只是简单的转码需求,或是一些极其轻量的需求,比如获取 OSS 上视频前几帧的 GIF、获取视频或者音频的时长,自己搭建成本更低。 各种格式的音频转换或者各种采样率自定义、音频降噪等功能 您有更高级的自定义处理需求,比如视频转码完成后, 需要记录转码详情到数据库, 或者在转码完成后, 自动将热度很高的视频预热到 CDN 上, 从而缓解源站压力。 您有并发处理大量视频的需求。

使用GPU硬件加速FFmpeg视频转码

假如想象 提交于 2019-12-11 19:06:07
最近看了些视频处理相关的文章,这里有一篇是讲如何使用Nvidia显卡为视频的编解码进行加速的, 为了方便查阅就转载了: 本文内容包括: 在Linux环境下安装FFmpeg 通过命令行实现视频格式识别和转码 有Nvidia显卡的情况下,在Linux下使用GPU进行视频转码加速的方法 FFmpeg编译安装 在FFmpeg官网 https://ffmpeg.org/download.html 可以下载到ubunto/debian的发行包,其他Linux发行版需自行编译。同时,如果要使用GPU进行硬件加速的话,也是必须自己编译FFmpeg的,所以本节将介绍从源码编译安装FFmpeg的方法(基于RHEL/Centos) 安装依赖工具 yum install autoconf automake bzip2 cmake freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel 准备工作 在$HOME下创建ffmpeg_sources目录 编译并安装依赖库 本节中的依赖库基本都是必须的,建议全部安装 nasm 汇编编译器,编译某些依赖库的时候需要 cd ~/ffmpeg_sources curl -O -L http://www.nasm.us/pub/nasm/releasebuilds/2.13.02

ECMAScript 6 入门——前言/简介

倾然丶 夕夏残阳落幕 提交于 2019-12-11 11:49:05
简介(看看就好,搭配括号理解就行) ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 因此,ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了ES2015、ES2016、ES2017等等,而ES2015则是正式名称,特指该年发布的正式版本的语言标准。本书中提到ES6的地方,一般是指ES2015标准,但有时也是泛指“下一代 JavaScript 语言”。 ECMAScript 和 JavaScript的关系是 前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 JScript 和 ActionScript)。日常场合,这两个词是可以互换的。 各浏览器ES6支持程度 https://kangax.github.io/compat-table/es6/ Babel 转码器(如.jsx/.vue转码) Babel 是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码,从而在现有环境执行。这意味着,你可以用ES6的方式编写程序,又不用担心现有环境是否支持。下面是一个例子。 配置文件.babelrc Babel 的配置文件是

UTF-8转码GBK

岁酱吖の 提交于 2019-12-07 21:42:58
昨天一个大学的同学问了一个关于utf-8转码gbk的问题,所以两个人一起讨论了一下关于utf-8转码成为GBK的乱码原因。 正常情况下如果我们需要将UTF-8格式转码为GBK,我们会需要经过这样一个中转: 通常情况下如果直接转码会出现一种情况就是GBK转码UFT-8出现乱码后乱码可以在转码回去变为原来的GBK中文。 但是UTF-8转码为GBK则会出现两种情况,在中文字符长度为偶数时是可以直接将乱码还原回去的,但是奇数情况下是无法全部转码回去的 究竟什么原因呢? 这和UTF-8的编码字节数和GBK的编码字节数有关,我们知道UTF-8的字符集是以三个字节数来存储的,而GBK则是两个字节数,所以就存在以下问题 当“你好好”三个字转码为字符集表示的时候,一共得到九个字节,当然这九个字节转码为gbk的时候会被两两分组,所以第九个字节就会被抛弃无法识别转化为有标记的乱码符号,当我们再把乱码转回去的时候,自然就无法还原为原来的UTF-8了。如下图 所以在UTF-8转gbk的基数情况下就会出现最后一个字转码为乱码后无法还原的情况。 来源: CSDN 作者: Tealar 链接: https://blog.csdn.net/u013130920/article/details/53304165

PHP urlencode空格被转为+的问题

£可爱£侵袭症+ 提交于 2019-12-07 10:32:30
我想既然各位点进来,绝大数是因为你遇到了空格被转为+号所带来的坑 不过没关系,解决方案很简单:使用rawurlencode()来进行编码即可~此函数遵循RFC 3986标准,空格会被转为%20 同时,对于此函数转码的url,普通的urldecode是不能正确解码的,所以官方也提供了rawurldecode()函数来对转码后的结果解码 再者,你也不需要担心版本兼容问题,因为它在PHP4就已经支持了~ 来源: https://www.cnblogs.com/wntd/p/12000822.html