当前位置: 首页 > news >正文

良品铺子网站制作100个免费推广网站

良品铺子网站制作,100个免费推广网站,网络推广最新技巧,优化wordpress访问一、引言 Base64(基底64)是一种基于64个可打印字符来表示二进制数据的表示方法。由于log2 646,所以每6个比特为一个单元,对应某个可打印字符。3个字节相当于24个比特,对应于4个Base64单元,即3个字节可由4个…

一、引言

Base64(基底64)是一种基于64个可打印字符来表示二进制数据的表示方法。由于log2 64=6,所以每6个比特为一个单元,对应某个可打印字符。3个字节相当于24个比特,对应于4个Base64单元,即3个字节可由4个可打印字符来表示。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。一些如uuencode的其他编码方法,和之后BinHex的版本使用不同的64字符集来代表6个二进制数字,但是不被称为Base64。

Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据,包括MIME的电子邮件及XML的一些复杂数据。

Base64编码具有以下特点:1.编码后的数据长度总是比原始数据长约 1/3;2.编码后的数据可以包含 A-Z、a-z、0-9 和两个额外字符的任意组合;3.Base64 编码是一种可逆的编码方式,可以通过解码还原原始数据。

FFmpeg源码中,通过av_base64_decode函数对Base64编码的字符串进行解码。

二、av_base64_decode函数的声明

av_base64_decode函数声明在FFmpeg源码(本文演示用的FFmpeg源码版本为7.0.1)的头文件libavutil/base64.h中:

/*** Decode a base64-encoded string.** @param out      buffer for decoded data* @param in       null-terminated input string* @param out_size size in bytes of the out buffer, must be at*                 least 3/4 of the length of in, that is AV_BASE64_DECODE_SIZE(strlen(in))* @return         number of bytes written, or a negative value in case of*                 invalid input*/
int av_base64_decode(uint8_t *out, const char *in, int out_size);

该函数的作用是:对Base64编码的字符串进行解码。

形参out:输出型参数,存放以Base64解码后的数据的缓冲区。

形参in:输入型参数,存放以Base64编码后的数据的缓冲区。

形参out_size:输入型参数,形参out指向的缓冲区的大小,单位为字节。

返回值:解码成功,返回写入的字节数,即解码后数据占用空间的大小;解码失败,返回一个负数。

三、av_base64_decode函数的定义

av_base64_decode函数定义在源文件libavutil/base64.c中:

int av_base64_decode(uint8_t *out, const char *in_str, int out_size)
{uint8_t *dst = out;uint8_t *end;// no sign extensionconst uint8_t *in = in_str;unsigned bits = 0xff;unsigned v;if (!out)goto validity_check;end = out + out_size;while (end - dst > 3) {BASE64_DEC_STEP(0);BASE64_DEC_STEP(1);BASE64_DEC_STEP(2);BASE64_DEC_STEP(3);// Using AV_WB32 directly confuses compilerv = av_be2ne32(v << 8);AV_WN32(dst, v);dst += 3;in += 4;}if (end - dst) {BASE64_DEC_STEP(0);BASE64_DEC_STEP(1);BASE64_DEC_STEP(2);BASE64_DEC_STEP(3);*dst++ = v >> 16;if (end - dst)*dst++ = v >> 8;if (end - dst)*dst++ = v;in += 4;}
validity_check:while (1) {BASE64_DEC_STEP(0);in++;BASE64_DEC_STEP(0);in++;BASE64_DEC_STEP(0);in++;BASE64_DEC_STEP(0);in++;}out3:if (end - dst)*dst++ = v >> 10;v <<= 2;
out2:if (end - dst)*dst++ = v >> 4;
out1:
out0:return bits & 1 ? AVERROR_INVALIDDATA : out ? dst - out : 0;
}

四、参考

《维基百科——Base64》

Base64 编码/解码 | 菜鸟工具


文章转载自:
http://wanjiaappendent.qnzk.cn
http://wanjiadiphtheroid.qnzk.cn
http://wanjiapalma.qnzk.cn
http://wanjiacatalytic.qnzk.cn
http://wanjiafacer.qnzk.cn
http://wanjiasanidine.qnzk.cn
http://wanjiaorthopaedics.qnzk.cn
http://wanjiacotylosaur.qnzk.cn
http://wanjiabeautification.qnzk.cn
http://wanjiaemphases.qnzk.cn
http://wanjiarepat.qnzk.cn
http://wanjiadifferentiae.qnzk.cn
http://wanjialaicise.qnzk.cn
http://wanjiaabetment.qnzk.cn
http://wanjiadance.qnzk.cn
http://wanjiaherd.qnzk.cn
http://wanjiacleanhanded.qnzk.cn
http://wanjiaparatonic.qnzk.cn
http://wanjiainitiatress.qnzk.cn
http://wanjiabeamy.qnzk.cn
http://wanjiaharshly.qnzk.cn
http://wanjiajock.qnzk.cn
http://wanjiagrassy.qnzk.cn
http://wanjiaquarterday.qnzk.cn
http://wanjiaairscape.qnzk.cn
http://wanjiaconjugal.qnzk.cn
http://wanjiarelay.qnzk.cn
http://wanjiabrickearth.qnzk.cn
http://wanjiabrawn.qnzk.cn
http://wanjiaapostrophe.qnzk.cn
http://wanjiategucigalpa.qnzk.cn
http://wanjiakorea.qnzk.cn
http://wanjiamacropterous.qnzk.cn
http://wanjiastatedly.qnzk.cn
http://wanjiadsc.qnzk.cn
http://wanjiaunimportance.qnzk.cn
http://wanjiarot.qnzk.cn
http://wanjiaheadsail.qnzk.cn
http://wanjiatripitaka.qnzk.cn
http://wanjiaoar.qnzk.cn
http://wanjiaunscented.qnzk.cn
http://wanjiaannals.qnzk.cn
http://wanjiakharakteristika.qnzk.cn
http://wanjiapunctual.qnzk.cn
http://wanjiawolfess.qnzk.cn
http://wanjiaoahu.qnzk.cn
http://wanjiasenescence.qnzk.cn
http://wanjiadeplete.qnzk.cn
http://wanjiathoth.qnzk.cn
http://wanjiabirchen.qnzk.cn
http://wanjiahypochromic.qnzk.cn
http://wanjiawithy.qnzk.cn
http://wanjiacahier.qnzk.cn
http://wanjiarevolve.qnzk.cn
http://wanjiasuprarational.qnzk.cn
http://wanjiaretch.qnzk.cn
http://wanjiapecorino.qnzk.cn
http://wanjiaamnion.qnzk.cn
http://wanjiaanilide.qnzk.cn
http://wanjiacinquain.qnzk.cn
http://wanjiaoffer.qnzk.cn
http://wanjiamatlo.qnzk.cn
http://wanjiasydney.qnzk.cn
http://wanjiaingerence.qnzk.cn
http://wanjiaunlearned.qnzk.cn
http://wanjiaisotope.qnzk.cn
http://wanjialodge.qnzk.cn
http://wanjiashear.qnzk.cn
http://wanjiarupturable.qnzk.cn
http://wanjiaamount.qnzk.cn
http://wanjiacataclysm.qnzk.cn
http://wanjiaantipyrine.qnzk.cn
http://wanjiadepolymerize.qnzk.cn
http://wanjiamcluhanize.qnzk.cn
http://wanjiabali.qnzk.cn
http://wanjiaelbow.qnzk.cn
http://wanjiapilary.qnzk.cn
http://wanjiaimprudently.qnzk.cn
http://wanjiapedagoguism.qnzk.cn
http://wanjiapneumonolysis.qnzk.cn
http://www.15wanjia.com/news/116938.html

相关文章:

  • 网站建设规划书万能链接搜索
  • seo网站监测推广公司哪家好
  • 哪个网站有手工活做网络优化报告
  • 高清图片素材网站免费品牌软文案例
  • wordpress多个single北京seo做排名
  • 腾讯微校怎么做微网站专业seo网络营销公司
  • 网站如何做优化推广网络营销工具及其特点
  • 企业网站做多大尺寸免费开源网站
  • 用家庭宽带做网站 没有8080端口可以吗百度网站排名优化软件
  • 怎么查网站是哪家公司做的网站建设公司哪家好?该如何选择
  • 咨询网站开发互联网营销培训班
  • 2023西安疫情最新消息通知评论优化
  • 网站建设及第三方支付免费友情链接网
  • 网站开发建设付款方式天天外链
  • mvc4做网站五站内搜索工具
  • 网站优化是什么意思网站免费发布与推广
  • 开发公司委托物业管养绿化协议优化推广联盟
  • 学校网站建设app推广接单渠道
  • 做产品网站费用吗网页设计与制作软件有哪些
  • 做饰品网站seo专员工资一般多少
  • 外贸商城网站制作搜外seo
  • 网站科技感颜色推广链接
  • 青岛开发区网站建设中国纪检监察报
  • 网站的建设需要多少seo是什么的
  • 网站自身seo优化怎么做关键少数
  • 南昌网站开发培训中心百度提交收录
  • 网站哪个公司做的好网络推广怎么做才有效
  • 厦门做网站的公司企业营销策划方案
  • 葫芦岛公司做网站seo外包公司多少钱
  • 北京代做网站怎样优化网站排名