base64无法解码pb+

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了base64无法解码pb+相关的知识,希望对你有一定的参考价值。

参考技术A 原因如下:
1、文件被损坏。
2、文件加密密钥的存储发生变化。
3、病毒生成的随机加密密钥经过RSA加密后,再用base64编码后写入加密文件末尾,导致无法解码。

Node.js 无法解析来自 base64 解码的 JSON 字符串

【中文标题】Node.js 无法解析来自 base64 解码的 JSON 字符串【英文标题】:Node.js cant parse a JSON string from base64 decode 【发布时间】:2012-05-29 19:54:36 【问题描述】:

我有一个字符串,我想解码成 json。该字符串最初是 base64。当我尝试解码为 jason 时,出现以下错误。

  var query_string = new Buffer(bid, 'base64').toString('ascii');
  console.log(query_string);
  var q = JSON.parse(query_string);


'avid': 'info@tssf.co.jp', 'crid': '20767073515', 'mabid': 'node': None, 'hod': '13', 'cid': '36', 'industry': None, 'ex': '1', 'vid1': '29', 'dow': '3', 'prid': 'hod': '13', 'woy': '18', 'cid': '36', 'dow': '3', 'ssp': 'adx', 'st': None, 'bt': 'firefox', 'cty': 'tokyo', 'ex': '1', 'vid2': '222', 'dt': '1', 'os': 'mac', 'vid1': '29', 'agid': '4547917795', 'cookieid': 'retageting:cookie', 'did': 'yahoo.com', 'validation': True

SyntaxError: Unexpected token ' 在 Object.parse (本机) 在/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/app.js:115:16 在回调(/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/express/lib/router/index.js:272:11) 在参数(/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/express/lib/router/index.js:246:11) 通过(/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/express/lib/router/index.js:253:5) 在 Router._dispatch (/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/express/lib/router/index.js:280:4) 在 Object.handle (/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/express/lib/router/index.js:45:10) 在下一个(/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/express/node_modules/connect/lib/http.js:204:15) 在 Object.methodOverride [作为句柄] (/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js:35:5) 在下一个(/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/express/node_modules/connect/lib/http.js:204:15)

【问题讨论】:

【参考方案1】:

JSON 格式需要双引号,而不是单引号

还有:

应该是:null True 应为小写:true

query_string 应如下所示:

"avid": "info@tssf.co.jp", "crid": "20767073515", "mabid": "node": null, "hod": "13", "cid": "36", "industry": null, "ex": "1", "vid1": "29", "dow": "3", "prid": "hod": "13", "woy": "18", "cid": "36", "dow": "3", "ssp": "adx", "st": null, "bt": "firefox", "cty": "tokyo", "ex": "1", "vid2": "222", "dt": "1", "os": "mac", "vid1": "29", "agid": "4547917795", "cookieid": "retageting:cookie", "did": "yahoo.com", "validation": true

我猜那是一个 Python 字典,您应该使用一个库将 Python 字典正确序列化为 JSON,或者如果您使用的是 Python 2.6+,只需这样做:

import json
json_string = json.dumps('test': 'test')

文档:http://docs.python.org/library/json.html

【讨论】:

Hmmmm....嗯...字符串最初是一个 python 字典,然后转换为 jason,然后转换为 base64。 Python可以解码但猜Node不能 ahhhhhhh ......愚蠢的......我最初使用龙卷风......这都是在同一个家庭。我使用 import ast 将字符串解码为 python dic。【参考方案2】:

JSON 需要在键和(字符串)值周围加上双引号,而不是单引号。

还有:

    None 不是合法值 - 编码空键的 JSON 方式是 "mykey": null TrueFalse 必须小写

JSON 的正式语法在首页http://www.json.org/

【讨论】:

以上是关于base64无法解码pb+的主要内容,如果未能解决你的问题,请参考以下文章

C# UTF-8 base64 编码在 PHP 中无法正确解码

Node.js 无法解析来自 base64 解码的 JSON 字符串

Django 2、python 3.4 无法解码 urlsafe_base64_decode(uidb64)

无法在iOS swift中将base64string解码为uiimage,但在android中工作正常[重复]

powershell -enc参数无法解码base64编码payload的解决方案

Linux shell:去除换行符的 Base64 解码