php QRcode::png图片生成base64_encode后图片无法显示,暗中77u/ BOM头,让你猝不及防

  • 时间:
  • 浏览:2724
  • 来源:无双科技

最近做了一个支付宝的扫码支付功能,网上参考稳献一大篇,马上搬砖上码,功夫不付有心人,很快就OK了,上线服务器测试,既然无法显示二维码,以下是生成的二维码

data:image/png;base64,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

再打开一张正常的base64图片,看看

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKQAAACkCAMAAAAua3VzAAACXlBMVEUAAAD///+n2vQuot8Slts7p+G04fPv+P0Tldr3+/623/QRldsind7Z7vpCq+J/xuxmu+gRltsdm93+//8yo+AzpOAUl9sbmtwZmdwXmNwTltsamtxpvegood5PseS+4vW94vW84fW74fXG5va44PTA4/Uint0mnt4lnd4mn96T0O/Q6vjP6vjN6fjX7fnJ5/fM6ffI5/bI5vfH5vfV7PkypeAqoN+y3fP9/v/8/v/7/f72+/4rouBvwOni8vsSl9oSldojnd5dt+ZywOpTs+TZ7/lJruMsod9+xurn9P70+v74/P71+v3q9fzG5vdzwepGreIWmNyT0e8cmdw3puK54fX0+v233/R0wepJr+Tg8/sknt6w6vhwt+cRldoUltsrod5rvObX7vr1+/6k1/FHreLU7PcTkNkSmNsqod2NzPDz+f04p+Ecm900peDL6fd8w/QUmNfO9/y13/R1xu8roN5Kr+M7qd6z1fWq2fF2xOwnn94WmN1QtecYmNwooN+n2fSX0e/o9vu13vM7qOFNsuY5qOESltqp2vKu3PNdvObW7fmk1vGa0vDa8PlXteQTltpsv+k4peESlds7qeBzv+rg8/pTsubc8PkZmtwTl9lct+Xu+P3w+P2g1fATldxRteOb1PH5/f4Sl9u84ffX7fqPzu2Pze6t3PHa7vzC5PYVl9s3puHp9fsSltzT6/ij1vEem91LsOWGye1FreSEyezO6fjy+f3n9Pu03fab0/NErOMind1xwOqo2fITl9pdtuNouuXJ6/wTldkTldjI6/yn2vMtod86peG14fOL3z/YAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE1UlEQVR4nO3W95cURRAHcFpHRVQQV49jMYAIKmJARfY41DsTKIKeAcxgDoAK5iwKngk4QDBhzolgwixm/a/svbndna35VnXv7fB23nXVLzvTXV31qdnwdtgwIYwN16trTzqD7hsORQ5JpAGRLIzy6CDScNI+7YccigwTKTWR9l1N6B699umjSEVyTX2A3J7vkIpUZCNIWlQ630gNRSoSIVEB1MiFQusUJNVlH4Yig0JygbC783VQocghh0x/VOsDgdG1lMf18unfn6fIIJFcI7qGGqIchHANwa4rMjgk3TRMSFjazKc+ykM9FBkWkqLQAR8w3eMGabRPNUeRwSBR0WQBVJzLg0+AYFAtBK97VWRQSJrIoV05aJ3mIzgakhtOkWEhaSIqjPIHg6FDIRzbX5FDHkkTuELSnmsQVEPCp14VGRSy0cbcAK6zje6l8ppB+kWLkXvsGYmx196tR+4jE20M3zdbJLpH17W3ccR+TmS0/wF0ePQwuCGq94NHjnQbo2hUi5Ep0IE26NronCEPMoVCISVvGomSUCEITyEPtjs8kgJQbRjZIg/JMbJtTHt/jO1HFuOb9nHFXCEPpafiOCwrZF1TcI0aVO8ryMOPGD+hHEdOLC8fNSGOSZMTSAqS1uAATSOrcbThPpM5Qh6TZ+SxU46bauP4E8rLJ049adrJp5w6PTskBfgAa/sVxmkzCiUbHTM7bXSUOkp2b1YCmX4AtBf3sDJEkjjdbp1xZs6RM+zWiChvyK7us84+p4oaY3fOPW83IJOYegj/56PyxZk95/wLOudeOG/+RRf3tNn7kTbnkksxEvXi1jJEXna5XZq5oLMQJy+84sqrjCldHeUJOc4Urrn2OnuxaPH1N9xYOXJTlCvkzYVbbr1tQHP7HUsGjixcuixDJG3MAVHRMvLOu+5ennxq7Ssqu/fce19PDYkwKNi9ZpD3lx6o+/UpPljbf+jhRx7NBfIx83jS+MSTdn3uyqeqOU9PWdXdcuRq80zC2Ptsef250c+/UMua+GJmSK6IdF3+Me9es3ZdbyzsK66fZtcKGzbam5c2bYYkbnDOUc1vBll82bzyal/Z+Nri17fYpTfejMlvvf3Ou3lBRu+9b8wHH3608uNP+lc+/az2Her5fNIX+UBGW2dtqxzatn1HVB+9X37V2TySQ9XPn4TV8gf+YHR9/c23O4357vsffvwpotHb/vMvtBaqjfpniSxH29ie4q99KWL8tucFKUaLkbt8jL81jaQLvgXjzN//cBv//KvyY47qod6w5+CRZmeXyzg8/na3Emn+/kc2/vufaT3SLzJCSo25PH8p/gNNQVyv5pANviOKzAVSauBC+4DQPgsh5xUZJpIm+az5DIOGQ0NJA3iDFDmkkNKmdIgifQZESG4vlavIoJB0kR50YVFjnzMoRxxYkUEgDQgK5Q670D7XXoMpMjikhHAN4AKjaxdUkYoUE0BIxaXB0DpXuy5HkcEgfYpzAySLIbwE9Hk41XtFBoWUgkNxQO4s98rVonhFhoc0ICSkCy4BaD90Dx+SIoNDugpzh6UhOARXF+K4J6DIoJFGCFRcQkiDcL0UqUjfg8lzdB2dRbW5QVJ5igwOySGS91Jwg/kApLOKDBMpNeYOSGsIj86hB4P2FBkU8n+uA6FN4LhFzAAAAABJRU5ErkJggg==

我们看到在生成的base64编码前面多出来一个 77u/ ,在经过一番资料查阅后发现,这贷居然是BOM头,思来想去不知道在哪儿产生的,据说不含 BOM 的 UTF-8 才是标准形式,在 UTF-8 文件中放置 BOM 主要是微软的习惯,UTF-8 和 带 BOM 的 UTF-8 的区别就是有没有 BOM。即文件开头有没有 U+FEFF。编译成base64 则为 77u/。

php QRcode::png图片生成base64_encode后图片无法显示,暗中77u/ BOM头,让你猝不及防

BOM 又叫字节顺序标记(Byte Order Mark)是位于码点U+FEFF的统一码字符的名称。当以UTF-16或UTF-32来将UCS/统一码字符所组成的字符串编码时,这个字符被用来标示其字节序。它常被用来当做标示文件是以UTF-8、UTF-16或UTF-32编码的记号。它是一个Unicode字符,通常出现在文本的开头,用来标识字节序(Big/Little Endian),是高位在前还是低位在前。如果它出现在字节流的中间,则表达零宽度非换行空格的意义,用户看起来就是一个空格。

找到问题解决问题,虽然不知道是在哪一步产生出来的,但好在人比较懒,直接查询该字符串,存在则删除

if(substr($imgstr,0,3)=="77u"){  $imgstr = substr($imgstr, 4);}

刷新一下,重新加载一切正常

default.png

猜你喜欢

深圳网站建设新站上线前的准备及友情链接交换购买的技巧

深圳网站建设新站上线前的准备及友情链接交换购买的技巧

你的站是新站,考核期还没有过,所以百度不会给你好的排名,即使现在买了高权重的外链,起到的作用仍然不大。建议你过了新手期之后再买高权重的友链,如果买的时间长那就算了。1、准备几百

2019-01-24

新站上线前的准备友情链接交换购买的技巧SEO优化

深圳网站建设中的企业网站建设核心重点

深圳网站建设中的企业网站建设核心重点

   1.主题?网站应有一个核心焦点,最失败的站点所具有的首个特性便是没有自己的焦点,也便是没有主题。假如站点没有自己的焦点主题,此中就会充满着很

2019-01-22

企业网站建设核心的核心重点深圳网站建设

【家居行业】深圳网站建设用案例来告诉你!

【家居行业】深圳网站建设用案例来告诉你!

案例分享:这个网站主要是做一些家具以及家具设计的网站,接下来小编就用这个例子来告诉大家应如何设计“家居行业”网站。1、网站首页的banner图是我们的设计师根据企业的相关业务进

2019-01-14

龙华网站制作深圳网站建设家居行业网站案例行业建站分析

深圳网站建设如何判断公司网站代码是否符合优化的标准

深圳网站建设如何判断公司网站代码是否符合优化的标准

在网站制作中,更符合Web2.0标准的网页无外乎DIV+CSS布局方式了。事实上,网站制作无外乎四个主页面,首页、频道页、栏目页、文章页。下面结合HTML实例为你逐一解析:如何

2019-01-06

符合优化标准的网站代码营销型网站建设深圳网站建设