2016-12-08 5 views
-3

これまでにこのようなデータ列を見たことはありません。 &#xの後ろにbase64文字が続きます。完全な文字列は次のようになります。このデータのデコード方法は?

{"16":{"list_price_min_16":"MTUuOTk=","is_mapp_16":"Tg==","offer_price_max_16":"MTUuOTk=","is_part_onsale_16":"Tg==","offer_price_min_16":"MTUuOTk=","list_price_max_16":"MTUuOTk=","total_savings_16":"MC4w"},"27":{"is_part_onsale_27":"Tg==","list_price_max_27":"MTUuOTk=","offer_price_max_27":"MTUuOTk=","total_savings_27":"MC4w","is_mapp_27":"Tg==","offer_price_min_27":"MTUuOTk=","list_price_min_27":"MTUuOTk="},"45":{"list_price_min_45":"MTUuOTk=","offer_price_max_45":"MTUuOTk=","list_price_max_45":"MTUuOTk=","total_savings_45":"MC4w","offer_price_min_45":"MTUuOTk=","is_part_onsale_45":"Tg==","is_mapp_45":"Tg=="},"09":{"total_savings_09":"MC4w","is_part_onsale_09":"Tg==","offer_price_max_09":"MTUuOTk=","offer_price_min_09":"MTUuOTk=","list_price_max_09":"MTUuOTk=","is_mapp_09":"Tg==","list_price_min_09":"MTUuOTk="},"20":{"list_price_max_20":"MTcuOTk=","offer_price_min_20":"MTcuOTk=","is_part_onsale_20":"Tg==","is_mapp_20":"Tg==","total_savings_20":"MC4w","list_price_min_20":"MTcuOTk=","offer_price_max_20":"MTcuOTk="},"28":{"offer_price_min_28":"MTUuOTk=","list_price_min_28":"MTUuOTk=","total_savings_28":"MC4w","is_part_onsale_28":"Tg==","list_price_max_28":"MTUuOTk=","is_mapp_28":"Tg==","offer_price_max_28":"MTUuOTk="},"06":{"offer_price_max_06":"MTUuOTk=","list_price_max_06":"MTUuOTk=","offer_price_min_06":"MTUuOTk=","list_price_min_06":"MTUuOTk=","is_mapp_06":"Tg==","total_savings_06":"MC4w","is_part_onsale_06":"Tg=="},"24":{"list_price_max_24":"MTUuOTk=","is_part_onsale_24":"Tg==","total_savings_24":"MC4w","list_price_min_24":"MTUuOTk=","offer_price_min_24":"MTUuOTk=","offer_price_max_24":"MTUuOTk=","is_mapp_24":"Tg=="},"25":{"total_savings_25":"MC4w","offer_price_max_25":"MTUuOTk=","list_price_max_25":"MTUuOTk=","list_price_min_25":"MTUuOTk=","is_mapp_25":"Tg==","offer_price_min_25":"MTUuOTk=","is_part_onsale_25":"Tg=="},"29":{"list_price_min_29":"MTUuOTk=","total_savings_29":"MC4w","offer_price_min_29":"MTUuOTk=","offer_price_max_29":"MTUuOTk=","list_price_max_29":"MTUuOTk=","is_mapp_29":"Tg==","is_part_onsale_29":"Tg=="},"19":{"list_price_min_19":"MTUuOTk=","total_savings_19":"MC4w","offer_price_min_19":"MTUuOTk=","is_part_onsale_19":"Tg==","is_mapp_19":"Tg==","list_price_max_19":"MTUuOTk=","offer_price_max_19":"MTUuOTk="},"04":{"is_part_onsale_04":"Tg==","offer_price_min_04":"MTUuOTk=","list_price_max_04":"MTUuOTk=","is_mapp_04":"Tg==","offer_price_max_04":"MTUuOTk=","list_price_min_04":"MTUuOTk=","total_savings_04":"MC4w"},"12":{"is_part_onsale_12":"Tg==","total_savings_12":"MC4w","is_mapp_12":"Tg==","list_price_min_12":"MTUuOTk=","list_price_max_12":"MTUuOTk=","offer_price_min_12":"MTUuOTk=","offer_price_max_12":"MTUuOTk="},"46":{"list_price_min_46":"MTUuOTk=","list_price_max_46":"MTUuOTk=","total_savings_46":"MC4w","is_part_onsale_46":"Tg==","offer_price_min_46":"MTUuOTk=","offer_price_max_46":"MTUuOTk=","is_mapp_46":"Tg=="},"47":{"is_part_onsale_47":"Tg==","list_price_min_47":"MTUuOTk=","offer_price_max_47":"MTUuOTk=","total_savings_47":"MC4w","is_mapp_47":"Tg==","list_price_max_47":"MTUuOTk=","offer_price_min_47":"MTUuOTk="}} 

.NETでこれをどのようにデコードしますか?

+0

をそして、あなたはされるべきだと思う、出力文字列は何ですか?それを得るためにあなたは何をしましたか? –

+0

彼はたぶん何かをハックしたいと思っています。インターフェースや契約はありません。 –

+1

私は何とかやっかいになってしまったのは、それがジェソンだと推測するつもりです。それはどこから来たのですか?あなたは何をしましたか? (それは '{" 16 ":{" list_price_min_16: "...'で始まります) – Plutonix

答えて

1

文字列がJsonファイルのようです。 &#xのあとには2つの16進文字が続きます。 hereをチェックすると、ASCIIテーブルが表示されます。

+0

これはどのようにして解読するのですか? – Plutonix

1

これは、エンコードされたJSONのように思える:

あなたは簡単にC#を使用して、それをデコードすることができます。

static int HexToInt (char hexChar) 
{ 
    hexChar = char.ToUpper (hexChar); 

    return (int)hexChar < (int)'A' ? 
     ((int)hexChar - (int)'0') : 
     10 + ((int)hexChar - (int)'A'); 
} 

public static string Decode (string s) 
{ 
    var result = new StringBuilder(); 
    for (int i = 0; i < s.Length; i++) { 
     char ch = s [i]; 
     if (ch == '&') { 
      ch = Convert.ToChar (HexToInt (s [i + 3]) * 16 + 
           HexToInt (s [i + 4])); 
      i += 5; 
     } 
     result.Append (ch); 
    } 
    return result.ToString(); 
} 

デコード結果はここにある:https://gist.github.com/viniciusjarina/c394714744c5036c2b32aa17ee58dbee

3

文字列が有効なJSONのようです。エンコードされた16進文字列を通常の文字列に変換する必要があります。ここではそれが行く:

string hexString = "YourEncodedHexString"; 
List<string> findhex = hexString.Split(new string[] { "&#", ";" }, StringSplitOptions.RemoveEmptyEntries).ToList(); 
StringBuilder sb = new StringBuilder(); 
foreach(string st in findhex) 
{ 
    if(st.Substring(0, 1) == "x") 
    { 
     string hs = st.Substring(1, 2); 
     sb.Append(Convert.ToChar(Convert.ToUInt32(hs, 16))); 
    } 
    else 
    { 
     sb.Append(st); 
    } 
} 
String ascii = sb.ToString(); 
Console.WriteLine(ascii); 

フォーマットされた出力は次のようになります。

{ 
    "12": { 
     "is_part_onsale_12": "Tg==", 
     "total_savings_12": "MC4w", 
     "is_mapp_12": "Tg==", 
     "list_price_min_12": "MTUuOTk=", 
     "list_price_max_12": "MTUuOTk=", 
     "offer_price_min_12": "MTUuOTk=", 
     "offer_price_max_12": "MTUuOTk=" 
    }, 
    "16": { 
     "list_price_min_16": "MTUuOTk=", 
     "is_mapp_16": "Tg==", 
     "offer_price_max_16": "MTUuOTk=", 
     "is_part_onsale_16": "Tg==", 
     "offer_price_min_16": "MTUuOTk=", 
     "list_price_max_16": "MTUuOTk=", 
     "total_savings_16": "MC4w" 
    }, 
    "19": { 
     "list_price_min_19": "MTUuOTk=", 
     "total_savings_19": "MC4w", 
     "offer_price_min_19": "MTUuOTk=", 
     "is_part_onsale_19": "Tg==", 
     "is_mapp_19": "Tg==", 
     "list_price_max_19": "MTUuOTk=", 
     "offer_price_max_19": "MTUuOTk=" 
    }, 
    "20": { 
     "list_price_max_20": "MTcuOTk=", 
     "offer_price_min_20": "MTcuOTk=", 
     "is_part_onsale_20": "Tg==", 
     "is_mapp_20": "Tg==", 
     "total_savings_20": "MC4w", 
     "list_price_min_20": "MTcuOTk=", 
     "offer_price_max_20": "MTcuOTk=" 
    }, 
    "24": { 
     "list_price_max_24": "MTUuOTk=", 
     "is_part_onsale_24": "Tg==", 
     "total_savings_24": "MC4w", 
     "list_price_min_24": "MTUuOTk=", 
     "offer_price_min_24": "MTUuOTk=", 
     "offer_price_max_24": "MTUuOTk=", 
     "is_mapp_24": "Tg==" 
    }, 
    "25": { 
     "total_savings_25": "MC4w", 
     "offer_price_max_25": "MTUuOTk=", 
     "list_price_max_25": "MTUuOTk=", 
     "list_price_min_25": "MTUuOTk=", 
     "is_mapp_25": "Tg==", 
     "offer_price_min_25": "MTUuOTk=", 
     "is_part_onsale_25": "Tg==" 
    }, 
    "27": { 
     "is_part_onsale_27": "Tg==", 
     "list_price_max_27": "MTUuOTk=", 
     "offer_price_max_27": "MTUuOTk=", 
     "total_savings_27": "MC4w", 
     "is_mapp_27": "Tg==", 
     "offer_price_min_27": "MTUuOTk=", 
     "list_price_min_27": "MTUuOTk=" 
    }, 
    "28": { 
     "offer_price_min_28": "MTUuOTk=", 
     "list_price_min_28": "MTUuOTk=", 
     "total_savings_28": "MC4w", 
     "is_part_onsale_28": "Tg==", 
     "list_price_max_28": "MTUuOTk=", 
     "is_mapp_28": "Tg==", 
     "offer_price_max_28": "MTUuOTk=" 
    }, 
    "29": { 
     "list_price_min_29": "MTUuOTk=", 
     "total_savings_29": "MC4w", 
     "offer_price_min_29": "MTUuOTk=", 
     "offer_price_max_29": "MTUuOTk=", 
     "list_price_max_29": "MTUuOTk=", 
     "is_mapp_29": "Tg==", 
     "is_part_onsale_29": "Tg==" 
    }, 
    "45": { 
     "list_price_min_45": "MTUuOTk=", 
     "offer_price_max_45": "MTUuOTk=", 
     "list_price_max_45": "MTUuOTk=", 
     "total_savings_45": "MC4w", 
     "offer_price_min_45": "MTUuOTk=", 
     "is_part_onsale_45": "Tg==", 
     "is_mapp_45": "Tg==" 
    }, 
    "46": { 
     "list_price_min_46": "MTUuOTk=", 
     "list_price_max_46": "MTUuOTk=", 
     "total_savings_46": "MC4w", 
     "is_part_onsale_46": "Tg==", 
     "offer_price_min_46": "MTUuOTk=", 
     "offer_price_max_46": "MTUuOTk=", 
     "is_mapp_46": "Tg==" 
    }, 
    "47": { 
     "is_part_onsale_47": "Tg==", 
     "list_price_min_47": "MTUuOTk=", 
     "offer_price_max_47": "MTUuOTk=", 
     "total_savings_47": "MC4w", 
     "is_mapp_47": "Tg==", 
     "list_price_max_47": "MTUuOTk=", 
     "offer_price_min_47": "MTUuOTk=" 
    }, 
    "09": { 
     "total_savings_09": "MC4w", 
     "is_part_onsale_09": "Tg==", 
     "offer_price_max_09": "MTUuOTk=", 
     "offer_price_min_09": "MTUuOTk=", 
     "list_price_max_09": "MTUuOTk=", 
     "is_mapp_09": "Tg==", 
     "list_price_min_09": "MTUuOTk=" 
    }, 
    "06": { 
     "offer_price_max_06": "MTUuOTk=", 
     "list_price_max_06": "MTUuOTk=", 
     "offer_price_min_06": "MTUuOTk=", 
     "list_price_min_06": "MTUuOTk=", 
     "is_mapp_06": "Tg==", 
     "total_savings_06": "MC4w", 
     "is_part_onsale_06": "Tg==" 
    }, 
    "04": { 
     "is_part_onsale_04": "Tg==", 
     "offer_price_min_04": "MTUuOTk=", 
     "list_price_max_04": "MTUuOTk=", 
     "is_mapp_04": "Tg==", 
     "offer_price_max_04": "MTUuOTk=", 
     "list_price_min_04": "MTUuOTk=", 
     "total_savings_04": "MC4w" 
    } 
} 

実際の手つかずの出力は次のようになりに対し:

{"16":{"list_price_min_16":"MTUuOTk=","is_mapp_16":"Tg==","offer_price_max_16":"MTUuOTk=","is_part_onsale_16":"Tg==","offer_price_min_16":"MTUuOTk=","list_price_max_16":"MTUuOTk=","total_savings_16":"MC4w"},"27":{"is_part_onsale_27":"Tg==","list_price_max_27":"MTUuOTk=","offer_price_max_27":"MTUuOTk=","total_savings_27":"MC4w","is_mapp_27":"Tg==","offer_price_min_27":"MTUuOTk=","list_price_min_27":"MTUuOTk="},"45":{"list_price_min_45":"MTUuOTk=","offer_price_max_45":"MTUuOTk=","list_price_max_45":"MTUuOTk=","total_savings_45":"MC4w","offer_price_min_45":"MTUuOTk=","is_part_onsale_45":"Tg==","is_mapp_45":"Tg=="},"09":{"total_savings_09":"MC4w","is_part_onsale_09":"Tg==","offer_price_max_09":"MTUuOTk=","offer_price_min_09":"MTUuOTk=","list_price_max_09":"MTUuOTk=","is_mapp_09":"Tg==","list_price_min_09":"MTUuOTk="},"20":{"list_price_max_20":"MTcuOTk=","offer_price_min_20":"MTcuOTk=","is_part_onsale_20":"Tg==","is_mapp_20":"Tg==","total_savings_20":"MC4w","list_price_min_20":"MTcuOTk=","offer_price_max_20":"MTcuOTk="},"28":{"offer_price_min_28":"MTUuOTk=","list_price_min_28":"MTUuOTk=","total_savings_28":"MC4w","is_part_onsale_28":"Tg==","list_price_max_28":"MTUuOTk=","is_mapp_28":"Tg==","offer_price_max_28":"MTUuOTk="},"06":{"offer_price_max_06":"MTUuOTk=","list_price_max_06":"MTUuOTk=","offer_price_min_06":"MTUuOTk=","list_price_min_06":"MTUuOTk=","is_mapp_06":"Tg==","total_savings_06":"MC4w","is_part_onsale_06":"Tg=="},"24":{"list_price_max_24":"MTUuOTk=","is_part_onsale_24":"Tg==","total_savings_24":"MC4w","list_price_min_24":"MTUuOTk=","offer_price_min_24":"MTUuOTk=","offer_price_max_24":"MTUuOTk=","is_mapp_24":"Tg=="},"25":{"total_savings_25":"MC4w","offer_price_max_25":"MTUuOTk=","list_price_max_25":"MTUuOTk=","list_price_min_25":"MTUuOTk=","is_mapp_25":"Tg==","offer_price_min_25":"MTUuOTk=","is_part_onsale_25":"Tg=="},"29":{"list_price_min_29":"MTUuOTk=","total_savings_29":"MC4w","offer_price_min_29":"MTUuOTk=","offer_price_max_29":"MTUuOTk=","list_price_max_29":"MTUuOTk=","is_mapp_29":"Tg==","is_part_onsale_29":"Tg=="},"19":{"list_price_min_19":"MTUuOTk=","total_savings_19":"MC4w","offer_price_min_19":"MTUuOTk=","is_part_onsale_19":"Tg==","is_mapp_19":"Tg==","list_price_max_19":"MTUuOTk=","offer_price_max_19":"MTUuOTk="},"04":{"is_part_onsale_04":"Tg==","offer_price_min_04":"MTUuOTk=","list_price_max_04":"MTUuOTk=","is_mapp_04":"Tg==","offer_price_max_04":"MTUuOTk=","list_price_min_04":"MTUuOTk=","total_savings_04":"MC4w"},"12":{"is_part_onsale_12":"Tg==","total_savings_12":"MC4w","is_mapp_12":"Tg==","list_price_min_12":"MTUuOTk=","list_price_max_12":"MTUuOTk=","offer_price_min_12":"MTUuOTk=","offer_price_max_12":"MTUuOTk="},"46":{"list_price_min_46":"MTUuOTk=","list_price_max_46":"MTUuOTk=","total_savings_46":"MC4w","is_part_onsale_46":"Tg==","offer_price_min_46":"MTUuOTk=","offer_price_max_46":"MTUuOTk=","is_mapp_46":"Tg=="},"47":{"is_part_onsale_47":"Tg==","list_price_min_47":"MTUuOTk=","offer_price_max_47":"MTUuOTk=","total_savings_47":"MC4w","is_mapp_47":"Tg==","list_price_max_47":"MTUuOTk=","offer_price_min_47":"MTUuOTk="}} 
+0

一般に、16進数は6桁です(XMLまたはHTMLの数値エンティティ参照の場合)。そのように解析し、['ConvertFromUtf32(int)'](https://msdn.microsoft.com/en-us/library/system.char.convertfromutf32(v = vs.110).aspx)を使用してください。 –

関連する問題