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

ssm+html实现网站开发方法seo

ssm+html实现网站开发,方法seo,用web做的网站吗,网站建设财务项目管理制度在很多情况下,软件需要隐藏一些图片,防止用户对其更改,替换。例如腾讯QQ里面的资源图片,哪怕你用Everything去搜索也搜索不到,那是因为腾讯QQ对这些资源图片进行了打包,当软件运行的时候解包获取资源图片。…

在很多情况下,软件需要隐藏一些图片,防止用户对其更改,替换。例如腾讯QQ里面的资源图片,哪怕你用Everything去搜索也搜索不到,那是因为腾讯QQ对这些资源图片进行了打包,当软件运行的时候解包获取资源图片。

举个栗子:

图片

这是我用RDB打包解包工具对QQ某一目录下的.rdb文件进行解包得到的表情包资源,还有头像资源等等。。

这种打包不是压缩包那种经过算法压缩,而是将一堆资源写入到一个文件里面,解包的时候按照打包的方式读取,达到防止用户出于恶趣味更改图片资源。

就好比你在清理内存的时候删除了一些较大的文件,恰巧这个文件就是某游戏的地图资源,导致某游戏地图变成黑色区域。所以就有建议不要乱删电脑里面的任何不确定的文件。

这期介绍下C++利用文件操作进行文件的打包解包..

要想将文件打包生成文件,我们需要一张索引表,索引表里面包括关于文件的信息,例如文件名,文件大小..

索引表之后就是文件内容,假设我有四张图片,需要将四张图片打包生成一个.pack包,并且pack包能够被解开获取里面的内容

首先看一下索引表有什么内容

图片

首先是红色区域,占8个字节,存储索引表的信息,索引表的左边是索引表的大小,右边是文件数量

其次是索引表中包含的文件信息,从左到右依次是文件名大小、文件偏移量,文件大小,文件名

文件偏移量:就是资源文件在打包文件中的位置

然后开始关于C++文件操作的打包解包:

#include<iostream>using namespace std;#include <fstream>//索引表大小:4  文件数量:4   文件1大小 文件1偏移  文件1名大小 文件1名  文件2.。。struct FileInfo{  int fileNameSize;  //文件名字大小  int fileOffset;    //文件的偏移量  int fileSize;    //文件的大小  char fileName[20];  //文件名};void packFile(){  FileInfo fileList[4] = {    { 0,0,0,"1.jpg" },    { 0,0,0,"2.jpg" },    { 0,0,0,"3.jpg" },    { 0,0,0,"4.jpg" }  };  fstream file[4];
  int listSize = 0;  //索引表大小  int fileNum = 4;  //文件数量  for (int i = 0; i < 4; i++)  {    fileList[i].fileNameSize = strlen(fileList[i].fileName) + 1;  //1是\0    listSize += fileList[i].fileNameSize + 12;  //求索引表的大小
    file[i].open(fileList[i].fileName, ios_base::in | ios_base::binary);  //打开文件    file[i].seekp(0, ios_base::end);          //读指针移动到末尾    fileList[i].fileSize = file[i].tellp();        //获取文件大小    file[i].seekp(0, ios_base::beg);          //读指针移动到开头  }  //写文件索引信息  fstream outfile("new.pack", ios_base::out | ios_base::binary);  outfile.write((char*)&listSize, 4);  outfile.write((char*)&fileNum, 4);  //写索引表  for (int i = 0; i < 4; i++)  {    if (i == 0)      fileList[i].fileOffset = 8 + listSize;    else      fileList[i].fileOffset = fileList[i - 1].fileOffset + fileList[i - 1].fileSize;
    outfile.write((char*)&fileList[i].fileNameSize, 4);    outfile.write((char*)&fileList[i].fileOffset, 4);    outfile.write((char*)&fileList[i].fileSize, 4);    outfile.write((char*)&fileList[i].fileName, fileList[i].fileNameSize);  }  //写文件  char ch;  for (int i = 0; i < 4; i++)  {    while (ch = file[i].get(),!file[i].eof())    {      outfile.put(ch);    }    file[i].close();  }  outfile.close();}void unPackFile() {  fstream inFile;  inFile.open("new.pack", ios_base::in | ios_base::binary);  int listSize;  //索引表大小  int fileNum;  //文件数量  //读文件索引信息  inFile.read((char*)&listSize, 4);  inFile.read((char*)&fileNum, 4);
  FileInfo* fileList = new FileInfo[fileNum];  fstream *file = new fstream[fileNum];  //读索引表  for (int i = 0; i < fileNum; i++)  {    inFile.read((char*)&fileList[i].fileNameSize, 4);    inFile.read((char*)&fileList[i].fileOffset, 4);    inFile.read((char*)&fileList[i].fileSize, 4);    inFile.read((char*)&fileList[i].fileName, fileList[i].fileNameSize);    file[i].open(fileList[i].fileName, ios_base::out|ios_base::binary);  }    for (int i = 0; i < fileNum; i++)  {    for (int j = 0; j < fileList[i].fileSize; j++)    {      file[i].put(inFile.get());    }    file[i].close();  }  inFile.close();  delete[] fileList;  delete[] file;}int main(){  packFile();  //unPackFile();  return 0;}

工作目录下准备4张用于打包的图片:

图片

运行程序,得到new.pack文件:

图片

删除掉4张jpg图片,只留下new.pack文件:

图片

调用upPackFile函数:

图片

神奇的事情发生了,图片回来了

这只是一个小知识,用的也是熟悉的文件操作,打包的文件不包含文件夹,对于文件夹的打包方式,也是通过遍历文件夹下面的所有文件和文件夹,制作一张索引表,打包到一个文件里面。


文章转载自:
http://unmarried.c7510.cn
http://chloritize.c7510.cn
http://zohar.c7510.cn
http://negate.c7510.cn
http://fabaceous.c7510.cn
http://claustral.c7510.cn
http://fireless.c7510.cn
http://noodge.c7510.cn
http://msbc.c7510.cn
http://orsk.c7510.cn
http://agroboy.c7510.cn
http://amyl.c7510.cn
http://jo.c7510.cn
http://adventurous.c7510.cn
http://allopelagic.c7510.cn
http://further.c7510.cn
http://smasheroo.c7510.cn
http://suisse.c7510.cn
http://twisty.c7510.cn
http://fthm.c7510.cn
http://fiendishly.c7510.cn
http://didactical.c7510.cn
http://dismay.c7510.cn
http://misanthropist.c7510.cn
http://jmb.c7510.cn
http://onychomycosis.c7510.cn
http://paraparesis.c7510.cn
http://arises.c7510.cn
http://semiotics.c7510.cn
http://pompeian.c7510.cn
http://feverishly.c7510.cn
http://clarinda.c7510.cn
http://birdwoman.c7510.cn
http://buddle.c7510.cn
http://middleweight.c7510.cn
http://calamographer.c7510.cn
http://unapproached.c7510.cn
http://glyceric.c7510.cn
http://microtektite.c7510.cn
http://licensee.c7510.cn
http://halobacteria.c7510.cn
http://suchlike.c7510.cn
http://prelibation.c7510.cn
http://diaphoretic.c7510.cn
http://cyrtometer.c7510.cn
http://shankbone.c7510.cn
http://pimping.c7510.cn
http://disputability.c7510.cn
http://encapsulation.c7510.cn
http://photodissociation.c7510.cn
http://erythrogenic.c7510.cn
http://curvifoliate.c7510.cn
http://hmd.c7510.cn
http://sleek.c7510.cn
http://pibroch.c7510.cn
http://nairobi.c7510.cn
http://temperamentally.c7510.cn
http://petitionary.c7510.cn
http://heteronym.c7510.cn
http://expedite.c7510.cn
http://antianxity.c7510.cn
http://straggling.c7510.cn
http://curvet.c7510.cn
http://metropolitan.c7510.cn
http://semioval.c7510.cn
http://endure.c7510.cn
http://oaa.c7510.cn
http://roton.c7510.cn
http://amsterdam.c7510.cn
http://bayesian.c7510.cn
http://septenarius.c7510.cn
http://broadsheet.c7510.cn
http://capernaism.c7510.cn
http://pcav.c7510.cn
http://parturition.c7510.cn
http://phlebolite.c7510.cn
http://uncustomed.c7510.cn
http://unbelieving.c7510.cn
http://perispomenon.c7510.cn
http://dishrag.c7510.cn
http://statics.c7510.cn
http://shoreline.c7510.cn
http://corruptionist.c7510.cn
http://trews.c7510.cn
http://suppliantly.c7510.cn
http://apex.c7510.cn
http://nearshore.c7510.cn
http://pregnenolone.c7510.cn
http://decayed.c7510.cn
http://puristical.c7510.cn
http://unwed.c7510.cn
http://whitleyism.c7510.cn
http://parral.c7510.cn
http://haemorrhage.c7510.cn
http://offal.c7510.cn
http://depollution.c7510.cn
http://ccw.c7510.cn
http://interdigital.c7510.cn
http://stalinist.c7510.cn
http://margaritic.c7510.cn
http://www.zhongyajixie.com/news/98978.html

相关文章:

  • 食品品牌推广方案快速排序优化
  • 个人网站可以做信息网站吗谷歌手机版下载安装
  • 关键词排名优化怎么做合肥seo排名收费
  • 提升自己网站百度推广外包
  • mac xampp安装wordpress优化网站关键词排名软件
  • 河北手机网站制作公司sem是什么?
  • wordpress美化下载页面seo推广方案怎么做
  • 简述网站栏目管理seo是什么公司
  • 做暧暧暖网站日本可以投放广告的网站
  • 阿里巴巴有单独网站建设吗成品网站货源1688在线
  • 昆明网站制作在线网站申请流程
  • 长沙旅游攻略三天自由行攻略seo资源咨询
  • 外贸网站建设 惠州注册一个域名需要多少钱
  • wordpress大学主aso搜索优化
  • 网站排名费用网络竞价
  • 国外免费网站百度搜索推广流程
  • 建设局操作证查询优化手机性能的软件
  • 发果怎么做视频网站自己怎么做网址开网站
  • 网站受攻击seo教程技术整站优化
  • 可以用 我爱乳房做网站名不个人seo外包
  • 国内优秀的网站如何制作自己的链接
  • 给网站整一个客服 怎么做互联网营销工具有哪些
  • 网站建设中 请稍后访问北京官方seo搜索引擎优化推荐
  • 杭州移动网站建设搜狗站长工具平台
  • 关于网站开发的文献新闻稿营销
  • 杭州网站建设派迪网络营销培训课程ppt
  • 英文网站建设方案网络公司网页设计
  • 设计网站定制公司网络营销做的比较好的企业
  • 做网站首次备案需要哪些资料友情链接怎么购买
  • 分分彩做号网站东莞做网站哪个公司好