2017-06-26 65 views
-3

我有一个编码字符串,我必须将其转换为具有HTML标签并在webview中显示的表单。我所拥有的编码数据是这种格式: -这是什么类型的编码?我应该用什么脚本来解码?

有+ a + pet + + +很像+养育子女%2C + you + just + can + + stand + the + chance + being + away + from +其中,+仍然%2C +十分+往往+它+出现+是+您+不能+拥有+你的+宠物+左右+到处+那么+你+需要+到+住房+他们+别处+为A +,而+但是+在+的+一天%的+端+ 2C +一个+一定+承认+是+它是+漂亮+硬盘+到+信托+人+有+我们+毛茸茸+婴儿。+谁+知道+他们+比+我们%2C更好+ +的+习惯%2C +饮食+单%2C +气质+和+社会+倾向%3F%0D%0A%0D%0AIt +是+,因为+如此+ +非常+ +的原因是我们+ +在+%3CA + HREF%3D%22https%3A%2F%2Fwww.whatsuplife.in%2Fnoida%+ 22%的目标三维%22_blank%22 +相对%3D%22noopener%22%3EWhat %92S +上+诺伊达+是+与共享%3C%2FA%3E + +您+的+ 5个+宠物+寄宿+设备+这+你+可以+实际上+信任。%0D%0A%的+目录+ 3CH 4%3E%3Cstrong%3EThe +狗+度假村%2C +诺依+%3C%2Fstrong%3E%3C%2Fh4%3E%0D%0AAt +吨他+狗+酒店+诺伊达%2C +被+保证+是+你的+宠物+会+被+关心+由+透彻+专业+。+%A0They +度假+拥有+的+ A + 10%2C000 +平方+英尺+房屋+区域+地方+约+ 5000 +平方+ .ft +是+宽+开放+绿色+区域+到+使+你的+宠物+住宿+俏皮+和+欢呼。+在+最好+纵横+约+在+地点+是+是+有是+完整+医疗+保健+和+行为+逮捕的+宠物+ +为+它们+拥有+兽+医生+ A +专用+团队+ %2C +狗+训练者%2C +和+其它+宠物+护理+专业知识。%0D 0A%%0D 0A%%3CA + HREF%3D%22https%3A%2F%2Fwww.whatsuplife.in%2Fnoida%2Fblog% 2Fwp含量%2Fuploads%2F2017%2F06%2FDog-度假noida.png%22%3E%3Cimg +类%3D%22aligncenter + WP-图像-4902 +大小满%22 + SRC%3D%22https%3A% 2F%2Fwww.whatsuplife.in%2Fnoida%2Fblog%2Fwp含量%2Fuploads%2F2017%2F06%2FDog-度假noida.png%22 + ALT%3D%22Dog +景区+诺依%22 +宽度%3D%221052% 22 +高度%3D%22326%22 +%2F%3E%3C%2FA%3E%0D%0A%0D%0A%3Cstrong%3EAddress%3A%A0 +部门+ 112%2C +诺依%3C%2Fstrong%3E %0D 0A%%3Cstrong%3E +联系%3A + 9911782646%3C%2Fstrong%3E%0D 0A%%3CH 4%3E%3Cstrong%3EB EST +宠物+登机+%3C%2Fstrong%3E%3C%2Fh4%3E%0D%0AThey +是+确实+一+ +中+高+评价+和+积极+评论+在+宠物+寄宿+设备+诺伊达+不+只是+为+狗+但是+它们+拥有+ A +友善+普罗维登斯+宠物+护理+的和+其他+宠物+喜欢+鱼%2C +鸟+ +日+登机+服务+ %2C +豚鼠+猪%2C +仓鼠%2C +猫%2C +和+其他+为+以及%A0 +创造+的+想法是+%91no笼%92 +免费+为+空间+心爱+宠物+中+通过+卡佛力+蛙+巴德瓦杰+和+ Yashraj +巴德瓦杰开发+ +在+ +最佳+宠物+寄宿%2C +在+重点是+上+制作+你的+宠物+社交+和+拥有+ A +免费+会+游荡在+宽+空间+的。+他们+相信+ IN + + A +训练有素+狗+这+说+出租+的+独特+概念+ +到+是+自己+%91alpha%92 + +其他+宠物+狗%2C之间+本+维护+在+礼仪+所有+的+时间。%0D%0A%0D%0A%3CA + HREF%3D%22https %3A%2F%2Fwww.whatsuplife.in%2Fnoida%2Fblog%2Fwp含量%2Fuploads%2F2017%2F06%2Fbest-PET-boarding.jpg%22%3E%3Cimg +类%3D%22aligncenter + WP-图像4903 +大小满%22 + SRC%3D%22https%3A%2F%2Fwww.whatsuplife.in%2Fnoida%2Fblog%2Fwp - 共ntent%2Fuploads%2F2017%2F06%2Fbest-PET-boarding.jpg%22 + ALT%3D%22best +宠物+登机+诺依%22 +宽度%3D%22960%22 +高度%3D%22489 22%+%2F %3E%3C%2FA%3E%0D%0A%0D%0A%3Cstrong%3EAddress%3A + B + 14 + 1 +奥米克+ 2%2C +大+诺依%3C%2Fstrong%3E%0D%0A%3Cstrong %3E +电话%3A + 09711951179%3C%2Fstrong%3E%0D%0A%3CH 4%3E%3Cstrong%3EPet +首页+事务+节+登机+%3C%2Fstrong%3E%3C%2Fh4%3E%0D%0A %3CA +风格%3D%22font尺寸%3A + 14px的%3B +字体家庭%3A +%27Open +三世%27%2C + Arial字体%2C +无衬线%3B +彩色%3A +%2319232d%3B +文本 - 装饰线%3A +下划线%3B%22 + HREF%3D%22https%3A%2F%2Fwww.whatsuplife.in%2Fnoida%2Fblog%2Fwp含量%2Fuploads%2F2017%2F06%2Fpet-家庭事务日-care.jpg%22%3E%3Cimg +类%3D%22alignright + WP-图像-4906 +大小满%22 +风格%3D%22font尺寸%3A + 14px的%3B%22 + SRC%3D%22https %3A%2F%2Fwww.whatsuplife.in%2Fnoida%2Fblog%2Fwp含量%2Fuploads%2F2017%2F06%2Fpet-家庭事务天care.jpg%22 + ALT%3D%22pet +登机+在+诺伊达%22 +宽度%3D%22350%22 +高度%3D%22263 22%+%2F%3E%3C%2FA%3E%0D 0A%%0D%0APet +首页+事务+享有+ A + ST二苓+口碑+在+宠物+护理+行业+和是+一个++的+卓越+服务+在+诺伊达。+在+ +登机%2C +有+是+专业+谁+理解+的+需要+你的+宠物+ +和+也+你的+优惠+约+在+专用+服务+你+需要+为你+宠物+宠物+护理+系统+中+以及+计划+为+餐+和+医学+计时+和+下+在+护理+宠物+护理+ +专家+这里。%0D%0A%0D%0A%3Cstrong%3EAddress%3A%A0 + SUPERTECH +开普敦%2C +行业+ 74%2C +诺依。%3C%2Fstrong%3E%0D%0A%3Cstrong%3E +电话%3A + 09873204636%3C%2Fstrong%3E%0D%0A%3CH 4%3E%3Cstrong%3EClean +可爱+%3C% 2Fstrong%3E%3C%2Fh4%3E%0D%0AWith +的+ 10%2C000 +平方+ FT +狗+宽+空格+ +日+护理+和+宠物+度假+家庭%2C +清洁+可爱+ +是众所周知+到+服务+全尺寸+%2C +各类%2C +品种%2C +和+宠物+年龄+。+他们+是+最大的+和+最好的寄宿+工厂+不仅没有+在+诺伊达+而且+也+在+ NCR +清洁+可爱+中+管理+通过+ A +高度+技能+狗+处理+团队+产品+宠物+修饰+服务%2C +休闲+活动%2C +健康+关心%2C +疗法%2C +宠物+育儿辅导%2C +狗+行为+管理%2C +护肤+护理% 2C +狗+康复+和+其实%2C +什么不是。0D%0A%0D%0A%3CA%+ HREF%3D%22https%3A%2F%2Fwww.whatsuplife.in%2Fnoida%2Fblog%2Fwp内容%2Fuploads%2F2017%2F06%2FBoarding-大File.jpg%22%3E%3Cimg +类%3D%22aligncenter + WP-图像-4907 +尺寸大22%+的src%3D%22https%3A%2F%2Fwww .whatsuplife.in%2Fnoida%2Fblog%2Fwp含量%2Fuploads%2F2017%2F06%2FBoarding-大文件的1024x682.jpg%22 + ALT%3D%22dog +登机+在+诺依%22 +宽度%3D%22702 %22 +高度%3D%22468%22 +%2F%3E%3C%2FA%3E%0D%0A%0D%0A%26nbsp%3B%0D%0A%0D%0A%3Cstrong%3EAddress%3A%A0 +扇区+ 112%2C +诺依%3C%2Fstrong%3E%0D%0A%3Cstrong%3E +电话%3A + 08076548163%3C%2Fstrong%3E%0D%0A%3CH 4%3E%3Cstrong%3EGoDogee + PET +服务+% 3C%2Fstrong%3E%3C%2Fh4%3E%0D%0AGoDogee是+一个+ O F +在+印度%92S +龙头+宠物+护理+服务+提供+宠物+日+护理%2C +宠物+酒店%2C +宠物+美容%2C +宠物+接种%2C +宠物+治疗%2C + PET +匹配+和+其他+有趣+和+独特+ +服务的排序+%0D%0A%0D%0A%3Cimg +类%3D%22aligncenter +尺寸全+ WP-图像4905%22 + SRC %3D%22https%3A%2F%2Fwww.whatsuplife.in%2Fnoida%2Fblog%2Fwp含量%2Fuploads%2F2017%2F06%2Fgodogee.jpg%22 + ALT%3D%22%22 +宽度%3D%221920 22% +高度%3D%22790%22 +%2F%3E%0D%0A%0D%0A%3Cstrong%3EAddress%3A + J-10%2C +诺依+路%2C + H +块%2C +部门+ 8% 2C +诺伊达%3C%2Fstrong%3E%0D%0A%3Cstrong%3E +电话%3A + 09910664343%3C%2Fstrong%3E

什么样的格式是这样的,我如何将其转换成文本和HTML标签?

我目前使用这种方法,但我得到一个无返回值:

func urlDecode(_ htmlString: String) -> String { 

    var decodedURL = htmlString.replacingOccurrences(of: "+", with: " ") 
    decodedURL = decodedURL.removingPercentEncoding! 
    return decodedURL 
} 
+0

这是基本的URL编码... – CBroe

+0

@shallowThought - 回滚你的编辑,明白你为什么这样做,但不幸的是删除线索的过程中的问题。 – CRD

+0

@CRD好的。抱歉。我以为我小心留下某些'%0A's。别担心。 – shallowThought

回答

0

所以你得到nil,这意味着你的字符串中有一些无效的东西。我们怎么能找出什么?那么它肯定不是空间,所以让我们打破你的字符串转换成“字”:

var decodedURL = htmlString.replacingOccurrences(of: "+", with: " ") 
let chunks = decodedURL.components(separatedBy: " ") 

现在尝试解码每个“单词”,看看哪些失败:

for chunk in chunks 
{ 
    let decoded = chunk.removingPercentEncoding 
    if decoded == nil 
    { 
     print("\(chunk)") 
    } 
} 

此输出:

rel%3D%22noopener%22%3EWhat%92s 
%A0They 
%2F%3E%3C%2Fa%3E%0D%0A%0D%0A%3Cstrong%3EAddress%3A%A0 
well.%A0 
%91no-cage%92 
%91alpha%92 
here.%0D%0A%0D%0A%3Cstrong%3EAddress%3A%A0 
%2F%3E%3C%2Fa%3E%0D%0A%0D%0A%26nbsp%3B%0D%0A%0D%0A%3Cstrong%3EAddress%3A%A0 
India%92s 

现在removingPercentEncoding解码UTF-8,所以检查每个那些%序列以查看它们是否是有效的UTF-8示出了91%,92%%& A0不是。但是,它们是有效的Windows-1252编码 - 单个卷曲引号和非破坏空间。

所以你需要解码字符串为Windows-1252而不是UTF-8。你有时间查看文档...

HTH

+0

非常感谢!自从最近3个小时以来,我一直在打我的脑袋。我从API获得的其他回复是UTF-8编码,所以我推测这也是山姆会员。我将尝试将字符串解码为Windows - 1252,欢呼! –

+0

@AkshayYerneni:将输入减少为*最小*示例显示问题实际上是*您的*部分,*之前*发布问题。 –

0

从苹果,

一个新的字符串的百分比编码序列中移出,或零如果 接收器包含无效的编码百分比序列。只能在您知道编码百分比的字符串上调用 此方法。 在非百分比编码的字符串上调用此方法会导致 将百分比字符误解为 百分比编码序列的开头。

你得到零,因为removingPercentEncoding不能识别你的一些百分比编码。我将它粘贴到online parser上,发现%A0和%92似乎是可疑的。