2

カスタム文字セットを使用して C# で base 64 エンコーディングを行う必要がある [と思う] のですが、方法がわかりません。

具体的には、Unity3D プロジェクト内からMixpanel HTTP 仕様 - https://mixpanel.com/docs/api-documentation/http-specification-insert-data - を使用しようとしています。Mixpanel は、Base64 エンコーディングのカスタム「フレーバー」があると述べています。実際、同じ JSON を Web サービスでエンコードすると、文字セットを指定できます ( http://www.motobit.com/util/base64-decoder -encoder.asp )、Mixpanel は成功を報告します。

(したがって、エラーはエンコードされているデータではなく、エンコードにあることがわかっています)

4

2 に答える 2

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"
于 2013-02-03T00:30:03.987 に答える
-1

Base64 にエンコードされていますが、web で使用されているため、カスタム セットはそれをベースにしています。参照: C# Byte[] から URL フレンドリ文字列へ

編集:おそらくそうではありません...「+」と「/」が許可されているようです。変。

于 2013-02-03T00:08:47.087 に答える