Base64使用自定义字符集进行编码

时间:2013-02-02 23:51:07

标签: c# base64 unity3d mixpanel

我认为我需要在C#中使用自定义字符集进行base 64编码,但我无法弄清楚如何。

具体来说,我正在尝试使用Unity3D项目中的Mixpanel HTTP规范 - https://mixpanel.com/docs/api-documentation/http-specification-insert-data。 Mixpanel表示它具有Base64编码的自定义“风格”,实际上,当我使用允许我指定字符集(http://www.motobit.com/util/base64-decoder-encoder.asp)的Web服务编码相同的JSON时,Mixpanel会报告成功。

(因此,我知道失败在编码中,而不是编码的数据)

2 个答案:

答案 0 :(得分:0)

URL页面提供的示例与JSON结构的示例不匹配。

这是一个有效的例子:

var json = "{\"event\": \"game\", \"properties\": {\"ip\": \"123.123.123.123\", \"token\": \"e3bb4100330c35722740fb8c6f5abddc\", \"time\": 1245613885, \"action\": \"play\"}}";

var result = Convert.ToBase64String(Encoding.UTF8.GetBytes(json));

// result == "eyJldmVudCI6ICJnYW1lIiwgInByb3BlcnRpZXMiOiB7ImlwIjogIjEyMy4xMjMuMTIzLjEyMyIsICJ0b2tlbiI6ICJlM2JiNDEwMDMzMGMzNTcyMjc0MGZiOGM2ZjVhYmRkYyIsICJ0aW1lIjogMTI0NTYxMzg4NSwgImFjdGlvbiI6ICJwbGF5In19"

答案 1 :(得分:-1)

由于它是对Base64的编码,但是用于web,它的自定义集基于此。看到: C# Byte[] to Url Friendly String

编辑:也许不是......似乎他们允许'+'和'/'。奇怪。

相关问题