下面是今天遇到的两个难题 ,请各位帮我看下啊,建议用java解答,谢谢!

问题描述

1.实现一个lite版的字符串替换函数char[]strreplace(char[]str,char[]sub,char[]rep)2.对任意数据进行Base64编码char[]base64_encode(byte[]data)

解决方案

解决方案二:
下面基于Java实现的Base64的编码和解码程序:packagecom.gloomyfish.smtp.util;publicclassBase64Coder{publicfinalstaticchar[]base64_alphabet=newchar[]{'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9','+','/','='};publicstaticStringencode(Stringcontent){byte[]data=content.getBytes();intlength=data.length;byte[]char_array_3=newbyte[]{0,0,0};byte[]char_array_4=newbyte[]{'=','=','=','='};StringretContent="";inti=0;intj=0;intreversePos=0;while(length>0){length--;char_array_3[i++]=data[reversePos++];if(i==3){char_array_4[0]=(byte)((char_array_3[0]&0xfc)>>2);//convertthecharchar_array_4[1]=(byte)(((char_array_3[0]&0x03)<<4)+((char_array_3[1]&0xf0)>>4));char_array_4[2]=(byte)(((char_array_3[1]&0x0f)<<2)+((char_array_3[2]&0xc0)>>6));char_array_4[3]=(byte)(char_array_3[2]&0x3f);for(i=0;(i<4);i++)retContent+=base64_alphabet[char_array_4[i]];i=0;}}//handlingthelastinputcontentif(i>0){for(j=i;j<3;j++)char_array_3[j]=0;//paddingofzerochar_array_4[0]=(byte)((char_array_3[0]&0xfc)>>2);//rightshiftchar_array_4[1]=(byte)(((char_array_3[0]&0x03)<<4)+((char_array_3[1]&0xf0)>>4));char_array_4[2]=(byte)(((char_array_3[1]&0x0f)<<2)+((char_array_3[2]&0xc0)>>6));char_array_4[3]=(byte)(char_array_3[2]&0x3f);for(j=0;(j<i+1);j++)retContent+=base64_alphabet[char_array_4[j]];while((i++<3))//paddingof'='ofoutputstringretContent+='=';}returnretContent;}publicstaticStringdecode(StringenContent){byte[]data=enContent.getBytes();inti=0,j=0,enCode=0;intmLength=data.length;byte[]char_array_4=newbyte[4];byte[]char_array_3=newbyte[3];StringretContent="";//filteroutthepadding'='charswhile(mLength>0&&(((char)data[enCode])!='=')&&isBase64((char)data[enCode])){mLength--;char_array_4[i++]=data[enCode++];if(i==4){for(i=0;i<4;i++)char_array_4[i]=findChar((char)char_array_4[i]);char_array_3[0]=(byte)((char_array_4[0]<<2)+((char_array_4[1]&0x30)>>4));char_array_3[1]=(byte)(((char_array_4[1]&0xf)<<4)+((char_array_4[2]&0x3c)>>2));char_array_3[2]=(byte)(((char_array_4[2]&0x3)<<6)+char_array_4[3]);for(i=0;(i<3);i++)retContent+=(char)char_array_3[i];i=0;}}//lastcontenthandlingif(i>0){for(j=i;j<4;j++)char_array_4[j]=0;for(j=0;j<4;j++)char_array_4[j]=findChar((char)char_array_4[j]);char_array_3[0]=(byte)((char_array_4[0]<<2)+((char_array_4[1]&0x30)>>4));char_array_3[1]=(byte)(((char_array_4[1]&0xf)<<4)+((char_array_4[2]&0x3c)>>2));char_array_3[2]=(byte)(((char_array_4[2]&0x3)<<6)+char_array_4[3]);for(j=0;(j<i-1);j++)retContent+=(char)char_array_3[j];}returnretContent;}publicstaticbooleanisBase64(charc){booleanbase64=false;for(inti=0;i<64;i++){if(c==base64_alphabet[i]){base64=true;break;}}returnbase64;}publicstaticbytefindChar(charx){byteindex=64;//65thchar'='for(inti=0;i<64;i++){if(x==base64_alphabet[i]){index=(byte)i;break;}}returnindex;}/***<p>testdataandresultshouldlikebelowoutput,RFC4648Sample</p>*BASE64("")=""*BASE64("f")="Zg=="*BASE64("fo")="Zm8="*BASE64("foo")="Zm9v"*BASE64("foob")="Zm9vYg=="*BASE64("fooba")="Zm9vYmE="*BASE64("foobar")="Zm9vYmFy"***@paramargs*/publicstaticvoidmain(String[]args){//BASE64Encodercoder=newBASE64Encoder();//System.out.println(coder.encode("foobar".getBytes()));System.out.println("#--------------encode---------------#");System.out.println(encode(""));System.out.println(encode("f"));System.out.println(encode("fo"));System.out.println(encode("foo"));System.out.println(encode("foob"));System.out.println(encode("fooba"));System.out.println(encode("foobar"));System.out.println(encode("123456789sS{1}quot;));System.out.println("#--------------decode---------------#");System.out.println(decode(""));System.out.println(decode("Zg=="));System.out.println(decode("Zm8="));System.out.println(decode("Zm9v"));System.out.println(decode("Zm9vYg=="));System.out.println(decode("Zm9vYmE="));System.out.println(decode("Zm9vYmFy"));System.out.println(decode("MTIzNDU2Nzg5c1Mk"));}}
解决方案三:
那第一道题那,我没读懂题的意思
解决方案四:
该回复于2014-09-22 08:43:38被版主删除

时间: 2025-01-20 13:46:57

下面是今天遇到的两个难题 ,请各位帮我看下啊,建议用java解答,谢谢!的相关文章

两个线程打印到100,帮我看下为啥会打印到101

问题描述 两个线程打印到100,帮我看下为啥会打印到101 #include #include #include int N = 100;int n = 0;pthread_mutex_t mutex; void *func1(){ while (n < N+1) { pthread_mutex_lock(&mutex); printf (""%d 1n"" n); n++; pthread_mutex_unlock(&mutex); } if

pat-PAT1017 最后两个测试点通不过,请牛人帮忙看下

问题描述 PAT1017 最后两个测试点通不过,请牛人帮忙看下 我的代码 解决方案 http://blog.csdn.net/stevesun13/article/details/39894561

两个js冲突了 谁帮忙看下

问题描述 第一个//JavaScriptDocument资讯幻灯片CSSfunction$(id){returndocument.getElementById(id);}functionaddLoadEvent(func){varoldonload=window.onload;if(typeofwindow.onload!='function'){window.onload=func;}else{window.onload=function(){oldonload();func();}}}fun

用myeclipse6.0运行tomcat6.0的时候出错好像是端口被占用,弄了两天了谁能帮我处理下。。。。。

问题描述 我前几天没装SQL2005的时候,myeclipse6.0和tomcat6.0装上一起是可能运行的..自从把sql装上后,运行就是这样了,从装了次系统还是一样,可是我从dos里查看所有端口时我输入的8088只有一个(如图)[img=http://home.51.com/yubo660088/photo/item/100148712.html][/img]...myeclipse6.0里自带的Tomcat是取消了的...在侠们快来帮帮我呀,我的系统是64位win7,SQL2005是可以打

光伏行业兼并重组加快 两大难题仍困扰行业发展

近日,中国光伏巨头英利集团证实,该公司正在银监会主持下,邀请国家能源局新能源司.河北能源局.保定政府.国开行.中国进出口银行.工商银行.中国银行.建设银行等14家机构,共商资产债务重组事宜. 从曾经组件出货量第一,赞助世界杯,到今天资不抵债的过山车式发展,英利的发展折射出了中国光伏企业从公司治理.战略规划.资本运作方面的一系列问题.业内人士分析认为,英利的倒下是行业兼并重组提高行业集中度的缩影,随着国家政策发力,光伏行业整体有回暖趋势,但仍面临融资并网等方面的困扰. 光伏巨头英利资不抵债 公开资

任务中国“雇主保障”解决两大难题

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 2008年8月18日,艾瑞网站有篇题目叫<对现有威客模式的两点质疑>的文章针对当时威客任务模式提出了两点质疑,这也是威客网站有待解决的两个难题. 问题1:威客任务永不退款,如果我征集的结果确实不满意,怎么办? 问题2:如果我征集的LOGO在工商局不能注册怎么办? 上述问题从某种程度上阻碍了威客任务模式的发展,8月底任务中国推出的&

传统茶商布局电商遭遇两大难题:人才瓶颈与品饮感受

6月18日消息,"对于茶商而言,电商不是做不做的问题,而是怎么做的问题",信阳国际茶城运营总经理欧阳道坤在首届中国茶业电商高峰论坛上,一语道出电商之于茶商的重要性,这也是近一两年来茶类电商网站迅速成长的原因. "茶农卖茶很难,消费者喝茶很贵",这是人们的直观感觉,有需求,为什么供应不畅?症结在于渠道:http://www.aliyun.com/zixun/aggregation/17302.html">传统渠道层级多,加价率高,中间商获取了大部分利润

饮水质量不容乐观中国农村居民饮水面临两大难题

当前农村饮水存在的问题,与饮水安全立法保障领域的滞后有一定关系. 目前现有的法律法规.规范性文件对保护农村饮水起到了一定的作用,但由于没有形成较完善的农村饮用水保护法律体系,没有针对农村饮水安全作专门规定,实际操作与实施难度都很大. 饮水安全方面立法不足,缺少针对农村饮水安全的内容:缺少农业面源与生活垃圾的污染治理相配套法规:对资源性缺水问题目前没有相应的法律规范:没有建立农村小型集中式取水以及分散式取水水质监测体系. 尽管"十一五"期间,有关部门通过实施农村饮水安全工程建设,解决了2

爆红“下厨房”的两大难题:吃什么?赚什么?

爆红下厨房"的前面横亘着两个难题:持续告诉用户吃什么",摸索自己赚什么".装腔的门槛正越来越高.朋友圈"里,高级餐厅的饭局让人就连点赞都意兴阑珊,亲自烹调且摆盘别致.拍摄精心的美食才能赢取掌声一片,下厨房正成为一种时尚生活和社交方式.但没去过新东方学厨师,只会煮方便面顶多加蛋怎么办?移动互联网时代,一切需求都有人先替你想到.2011年,出于自身对美食的热爱,设计师出身的王旭升离开工作两年半的豆瓣,创立了菜谱应用下厨房".现在,下厨房"团队从最初2